dmd/compiler/test/compilable/test23481.d

28 lines
470 B
D

// https://issues.dlang.org/show_bug.cgi?id=23481
struct flagenum(I = ubyte)
{
I i = 1;
alias i this;
auto opBinary(string s)(int j) {
return typeof(this)(cast(I)(i*2));
}
auto opEquals(I a) {
return false;
}
}
enum alphakey
{
a = flagenum!int(), b, c, d, e, f, g, h, i, j, k, l,
m, n, o, p, q, r, s, t, u, v, w, x, y, z
}
flagenum!int alpha;
void main()
{
alpha &= alphakey.a;
alpha = alpha & alphakey.a; // also crashed in another way
}