cnstr.nested.cpp 544 B

12345678910111213141516171819
  1. // Copyright Louis Dionne 2013-2017
  2. // Distributed under the Boost Software License, Version 1.0.
  3. // (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
  4. #include <boost/hana/tuple.hpp>
  5. #include <type_traits>
  6. namespace hana = boost::hana;
  7. // See this bug: https://llvm.org/bugs/show_bug.cgi?id=24173
  8. template <typename ...Xs>
  9. constexpr hana::tuple<std::decay_t<Xs>...> f(Xs&& ...xs)
  10. { return hana::tuple<std::decay_t<Xs>...>{static_cast<Xs&&>(xs)...}; }
  11. int main() {
  12. f(f(f(f(f(f(f(f(f(f(f(f(1))))))))))));
  13. }