[Issue 11905] Can't make enum of custom struct types autoincrement working
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sat Feb 11 07:34:09 UTC 2023
https://issues.dlang.org/show_bug.cgi?id=11905
Basile-z <b2.temp at gmx.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |b2.temp at gmx.com
Resolution|--- |WORKSFORME
--- Comment #2 from Basile-z <b2.temp at gmx.com> ---
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 )
}
---
--
More information about the Digitalmars-d-bugs
mailing list