1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
// PR c++/56268 // { dg-do compile { target c++11 } } template <class T> struct A { A(const A&) noexcept (T::value); }; struct B { static const bool value = true; }; template <class T> struct C { static const bool value = __has_nothrow_copy (T); }; #define SA(X) static_assert((X),#X) SA(C<A<B>>::value);