1 // PERMUTE_ARGS: 2 Appender()3struct Appender() 4 { 5 bool canExtend = false; 6 } 7 CustomFloat()8struct CustomFloat() 9 { 10 union ToBinary 11 { 12 CustomFloat!() get; 13 } 14 15 void opAssign(F)(F input) 16 if (__traits(compiles, cast(real)input)) 17 { 18 } 19 20 real get()() 21 { 22 Appender!() app; 23 assert(false); 24 } 25 26 T opCast(T)() { return get!(); } 27 28 alias g = get!(); 29 } 30 f()31void f() 32 { 33 alias FPTypes = CustomFloat!(); 34 } 35