ratio_add_3_fail.cpp 951 B

123456789101112131415161718192021222324252627282930313233343536
  1. //===----------------------------------------------------------------------===//
  2. //
  3. // The LLVM Compiler Infrastructure
  4. //
  5. // This file is dual licensed under the MIT and the University of Illinois Open
  6. // Source Licenses. See LICENSE.TXT for details.
  7. //
  8. //===----------------------------------------------------------------------===//
  9. // Adaptation to Boost of the libcxx
  10. // Copyright 2010 Vicente J. Botet Escriba
  11. // Distributed under the Boost Software License, Version 1.0.
  12. // See http://www.boost.org/LICENSE_1_0.txt
  13. #include <boost/ratio/ratio.hpp>
  14. template <typename T, typename R>
  15. struct S {
  16. T val;
  17. };
  18. boost::intmax_t func(S<int, boost::ratio<5,6> > const& s) {
  19. return s.val*3;
  20. }
  21. boost::intmax_t test() {
  22. return func(
  23. S<int, boost::ratio_add<
  24. boost::ratio<1,2>,
  25. boost::ratio<1,3>
  26. >
  27. //~ ::type
  28. >()
  29. );
  30. }