1 // Testcase from P0136 2 // { dg-do compile { target c++11 } } 3 // { dg-options -fnew-inheriting-ctors } 4 5 struct A { 6 template<typename T> A(T, typename T::type = 0); 7 A(int); 8 }; 9 struct B : A { 10 using A::A; 11 B(int); 12 }; 13 B b(42L); // now calls B(int), used to call B<long>(long), 14 // which called A(int) due to substitution failure 15 // in A<long>(long). 16 17 // { dg-final { scan-assembler "_ZN1BC1Ei" } } 18