// 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 namespace hana = boost::hana; struct T { }; int main() { BOOST_HANA_CONSTANT_CHECK(hana::equal( hana::make(T{}), hana::decltype_(T{}) )); BOOST_HANA_CONSTANT_CHECK(hana::equal( hana::make(hana::type_c), hana::decltype_(hana::type_c) )); BOOST_HANA_CONSTANT_CHECK(hana::equal( hana::make_type(T{}), hana::make(T{}) )); BOOST_HANA_CONSTANT_CHECK(hana::equal( hana::make_type(hana::type_c), hana::make(hana::type_c) )); // make sure we don't read from non-constexpr variables { auto t = hana::type_c; auto x = 1; constexpr auto r1 = hana::make(t); (void)r1; constexpr auto r2 = hana::make(x); (void)r2; } }