[Issue 1432] Bogus "overlapping initialization" error with structs, unions, and member initializers
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sun Dec 26 22:52:18 UTC 2021
https://issues.dlang.org/show_bug.cgi?id=1432
Iain Buclaw <ibuclaw at gdcproject.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
CC| |ibuclaw at gdcproject.org
Resolution|FIXED |---
--- Comment #9 from Iain Buclaw <ibuclaw at gdcproject.org> ---
This issue seems to be closed for the wrong reason.
>From runnable/structlit.d:
---
union U7727A3 { int i; double d = 2.5; }
union U7727B3 { double d; int i = 123; }
void test7727()
{
import core.stdc.math : isnan;
// Blocked by https://issues.dlang.org/show_bug.cgi?id=1432
{ U7727A3 u; assert(u.d == 2.5); }
{ U7727A3 u = { i: 1024 }; assert(u.i == 1024); }
{ U7727A3 u = { d: 1.225 }; assert(u.d == 1.225); }
static assert(!__traits(compiles,
{ U7727A3 u = { i: 1024, d: 1.225 }; }
));
// Blocked by https://issues.dlang.org/show_bug.cgi?id=1432
{ U7727B3 u; assert(u.i == 123); }
{ U7727B3 u = { i: 1024 }; assert(u.i == 1024); }
{ U7727B3 u = { d: 1.225 }; assert(u.d == 1.225); }
static assert(!__traits(compiles,
{ U7727B3 u = { i: 1024, d: 1.225 }; }
));
}
--
More information about the Digitalmars-d-bugs
mailing list