[Issue 23522] Error message when enum type is not integral and a value lacks an initializer
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Jan 2 12:17:14 UTC 2023
https://issues.dlang.org/show_bug.cgi?id=23522
Basile-z <b2.temp at gmx.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |diagnostic
CC| |b2.temp at gmx.com
Severity|trivial |normal
--- Comment #1 from Basile-z <b2.temp at gmx.com> ---
semantics are more subtle, the increment from the previous value can work for
non-integral types too:
```
struct FooInt
{
int i;
auto opBinary(string op : "+")(int j)
{
return typeof(this)(i + j);
}
static @property FooInt max()
{
return typeof(this)(int.max);
}
}
enum foolist
{
hi = FooInt(0),
bye
}
```
So you can only determine if the implicit value can be set by trying it.
--
More information about the Digitalmars-d-bugs
mailing list