1 /* 2 TEST_OUTPUT: 3 --- 4 fail_compilation/ice14096.d(29): Error: cannot access frame pointer of ice14096.main.Baz!((i) => i).Baz 5 fail_compilation/ice14096.d(23): Error: template instance ice14096.foo!(Tuple!(Baz!((i) => i))).foo.bar!(t) error instantiating 6 fail_compilation/ice14096.d(40): instantiated from here: foo!(Tuple!(Baz!((i) => i))) 7 --- 8 */ 9 Tuple(Types...)10struct Tuple(Types...) 11 { 12 Types expand; 13 alias expand this; 14 alias field = expand; 15 } 16 Tuple!T tuple(T...)(T args) 17 { 18 return typeof(return)(args); 19 } 20 foo(T)21auto foo(T)(T t) 22 { 23 bar!t(); 24 } 25 bar(alias s)26auto bar(alias s)() 27 { 28 // default construction is not possible for: Tuple!(Baz!(i => i)) 29 typeof(s) p; 30 } 31 Baz(alias f)32struct Baz(alias f) 33 { 34 void g() {} 35 } 36 main()37void main() 38 { 39 auto t = tuple(Baz!(i => i)()); 40 foo(t); 41 } 42