[Issue 3984] New: CTFE array assignment for struct members fails
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Mar 18 23:44:29 PDT 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3984
Summary: CTFE array assignment for struct members fails
Product: D
Version: 2.041
Platform: Other
OS/Version: All
Status: NEW
Keywords: ice-on-valid-code, wrong-code
Severity: normal
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: ludwig at informatik.uni-luebeck.de
--- Comment #0 from Sönke Ludwig <ludwig at informatik.uni-luebeck.de> 2010-03-18 23:44:20 PDT ---
In the following code snipped, for global variables or enums, this.s is not
correctly written in the constructor. The direct way to assign a value without
the 'dst' temporary does not work due to
http://d.puremagic.com/issues/show_bug.cgi?id=3801.
---
struct S {
float[1] s;
this(float x){
float[] dst = this.s;
dst[0] = x;
}
}
S S_zero = S(0); // initialization fails
enum S S_zero2 = S(0); // initialization fails
void main()
{
//enum S z = S(0); // ICE
//static S z = S(0); // ICE
//S z = S(0); // works, initialized with 0
//S z = S_zero; // contains NaN
S z = S_zero2; // contains NaN
assert(z.s[0] == 0);
}
---
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list