2 // { dg-do compile { target c++11 } }
6 template<typename T, T Val>
7 struct integral_constant
8 { static constexpr T value = Val; };
12 : integral_constant<bool, __is_abstract(T)>
15 template<typename T, bool = is_abstract<T>::value>
16 struct is_destructible
17 : integral_constant<bool, true>
21 struct is_destructible<T, true>
22 : integral_constant<bool, false>
26 struct is_nothrow_move_constructible
45 constexpr single(const Tp& e)
49 noexcept(std::is_nothrow_move_constructible<Tp>::value)
54 constexpr single<typename std::decay<Tp>::type>
57 return single<typename std::decay<Tp>::type>(x);
60 class Blob; // { dg-message "forward declaration" }
68 // { dg-excess-errors "incomplete type|not a member" }