blob: 18b6d4ce8c5e4102da2418caf0b658e70945002d [file] [log] [blame]
// https://issues.dlang.org/show_bug.cgi?id=23172
enum E : ubyte { // `ubyte` is needed to trigger the bug
A,
B,
}
struct S {
E e;
}
void compiles(bool b, S s) {
E e = b ? E.A : s.e;
}
void errors(bool b, const ref S s) {
E e = b ? E.A : s.e;
}
// from https://issues.dlang.org/show_bug.cgi?id=23188
enum Status : byte
{
A, B, C
}
Status foo()
{
Status t = Status.A;
const Status s = t;
return (s == Status.A) ? Status.B : s; // <-- here
}