1 // PR c++/55652 2 // { dg-do compile } 3 // { dg-options "-std=c++11" } 4 5 template <typename T> 6 struct A 7 { 8 static const bool a = false; 9 }; 10 11 template <typename X, typename Y = A <X>> 12 struct B 13 { noexceptB14 B () noexcept (A <Y>::a) {} 15 }; 16 17 template <typename X, typename Y> 18 struct C 19 { 20 X x; 21 Y y; 22 }; 23 24 struct D 25 { 26 D () throw (int); 27 }; 28 29 C <D, B <D>> c; 30