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 5 #include <boost/hana/type.hpp> 6 namespace hana = boost::hana; 7 8 9 template <typename ...> struct F { struct type; }; 10 struct M { template <typename ...> struct apply { struct type; }; }; 11 struct T; 12 main()13int main() { 14 // See http://llvm.org/bugs/show_bug.cgi?id=20046 15 [](auto) { return hana::trait<F>; }(1); 16 [](auto) { return hana::type_c<T>; }(1); 17 [](auto) { return hana::template_<F>; }(1); 18 [](auto) { return hana::metafunction<F>; }(1); 19 [](auto) { return hana::metafunction_class<M>; }(1); 20 } 21