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] }
Comment #1 by yebblies — 2013-11-26T19:58:10Z
I get [nan, nan, nan]
Comment #2 by bitter.taste — 2018-03-21T16:15:53Z
Works on master.