1 // test for extension of DR 899 to handle template ctors 2 // { dg-options "-std=c++0x" } 3 // { dg-do run } 4 5 int r = 1; 6 7 struct C { CC8 C() { } 9 template <class T = int> C(C&, T = 0) { r = 0; } 10 }; 11 12 C c; 13 14 struct A 15 { 16 explicit operator C&() const { return c; } 17 }; 18 main()19int main() 20 { 21 A a; 22 C c2 (a); 23 24 return r; 25 } 26