1 // { dg-do compile } 2 3 template < typename = void > 4 struct X { } ; 5 struct Y 6 { 7 Y () ; 8 } ; 9 template < typename = X < > > 10 struct T 11 { fT12 void f () 13 { 14 f () ; 15 } 16 } ; 17 struct S 18 { 19 S ( X < > = X < > ()) ; ~SS20 ~S () 21 { 22 T < > () . f () ; 23 } 24 } ; 25 struct Z 26 { 27 S s ; 28 Y y ; 29 } a ; 30 31