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/detail/wrong.hpp> 6 namespace hana = boost::hana; 7 8 9 template <typename T, typename U> 10 struct base_template { 11 // Can't write this because the assertion would always fire up: 12 // static_assert(false, "..."); 13 14 // So instead we write this: 15 static_assert(hana::detail::wrong<base_template<T, U>>::value, 16 "base_template does not have a valid default definition"); 17 }; 18 19 template <> 20 struct base_template<int, int> { 21 // something useful 22 }; 23 main()24int main() { } 25