#include <boost/hana/assert.hpp>
#include <boost/hana/concept/metafunction.hpp>
#include <boost/hana/equal.hpp>
+#include <boost/hana/not.hpp>
#include <boost/hana/type.hpp>
#include <type_traits>
template <typename T> using alias = T;
static_assert(hana::template_<alias>(hana::type_c<x1>) == hana::type_c<x1>, "");
+// Make sure template_ is SFINAE-friendly
+template <typename T> struct unary;
+BOOST_HANA_CONSTANT_CHECK(hana::not_(
+ hana::is_valid(hana::template_<unary>)(hana::type_c<void>, hana::type_c<void>)
+));
// Make sure we don't read from a non-constexpr variable
int main() {