// PR c++/100101 // { dg-do compile { target c++11 } } template struct A { template static char foo(U*, int* = 0); static const bool value = sizeof(foo(static_cast(nullptr))) > 0; }; template struct B { static const bool value = b; }; template struct C { typedef B::value> type; }; template void bar() noexcept(A::value && C::type::value) {} void baz() { bar(); }