https://issues.dlang.org/show_bug.cgi?id=11905
Basile-z <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |[email protected] Resolution|--- |WORKSFORME --- Comment #2 from Basile-z <[email protected]> --- This is working since 2.099 and the test suite contains a similar test to --- struct enumf( T = ushort ) { enum max = T.max; alias val this; T val = 1; this( T val ) { this.val = val; } this( int val ) { this.val = cast( T ) val; } void opAssign( int val ) { this.val = cast( T ) val; } enumf!T opBinary( string op : "+" )( T add ) { return enumf!T( val << add ); } int opCmp( enumf!T other ) { if( other.val == val ) return 0; else if( val > other.val ) return 1; else return -1; } } enum F { halCenter = enumf!ushort(), halRight, valCenter = enumf!ushort( 2 ), valRight = enumf!ushort( 1 ) } --- --
