mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 05:00:16 +03:00
33 lines
485 B
D
33 lines
485 B
D
// 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
|
|
}
|