// Copyright Louis Dionne 2013-2017 // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) #include #include #include #include namespace hana = boost::hana; constexpr hana::detail::create make_tuple{}; constexpr hana::detail::create make_pair{}; template struct empty { }; template struct single_holder { T x; }; template struct identity { using type = T; }; template using identity_t = typename identity::type; int main() { static_assert(make_tuple(1, '2', 3.3) == std::make_tuple(1, '2', 3.3), ""); static_assert(make_pair(1, '2') == std::make_pair(1, '2'), ""); // should work hana::detail::create{}(); hana::detail::create{}(1); hana::detail::create{}([]{}); hana::detail::create{}(1); hana::detail::create{}([]{}); }