Bug 7930 – Static initialization of static-sized array in union fails
Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2012-04-16T18:34:56Z
Last change time
2018-03-21T16:15:53Z
Assigned to
No Owner
Creator
marcianx
Comments
Comment #0 by marcianx — 2012-04-16T18:34:56Z
I tried this on DMD64 v2.059 on linux (openSUSE).
Static initialization of a static-sized array within a union seems to
assign only the first entry of the array. If the array is taken out of
the union and the union is removed, then the initialization works fine.
struct Klass
{
union {
double[3] vals = void;
struct { double x, y, z; }
}
}
void main()
{
Klass v = {[1,2,3]};
import std.stdio;
writeln(v.vals); // outputs [1, nan, nan]; expected [1, 2, 3]
}