[Issue 15575] partial initialization of a union member causes wrong diagnostic during CTFE
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Oct 5 13:23:17 UTC 2023
https://issues.dlang.org/show_bug.cgi?id=15575
Basile-z <b2.temp at gmx.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords|ice |CTFE, rejects-valid
CC| |b2.temp at gmx.com
Summary|Wrong value for static |partial initialization of a
|immutable struct with union |union member causes wrong
| |diagnostic during CTFE
--- Comment #3 from Basile-z <b2.temp at gmx.com> ---
updated test case:
```
struct B15575 {
union {
ubyte[2] a;
struct {
ubyte b;
ubyte c;
}
}
this(ubyte b) {
if (b)
this.a[0] = b;
else
this.b = b;
this.c = 0;
}
}
void main()
{
auto a = B15575(7).a; // run-time OK
pragma(msg, B15575(7).a); // CTFE NG
}
```
--
More information about the Digitalmars-d-bugs
mailing list