[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