[Issue 5907] New: CTFE: Ref assignments are noop at compile time
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Apr 28 17:09:05 PDT 2011
http://d.puremagic.com/issues/show_bug.cgi?id=5907
Summary: CTFE: Ref assignments are noop at compile time
Product: D
Version: unspecified
Platform: Other
OS/Version: Windows
Status: NEW
Severity: major
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: andrej.mitrovich at gmail.com
--- Comment #0 from Andrej Mitrovic <andrej.mitrovich at gmail.com> 2011-04-28 17:05:20 PDT ---
auto ok()
{
int[2] result;
foreach (index, ref sample; result)
{
result[index] = 1;
}
return result;
}
auto fail()
{
int[2] result;
foreach (index, ref sample; result)
{
sample = 1;
}
return result;
}
float[2] ctfe_ok = ok();
float[2] ctfe_fail = fail();
void main()
{
assert(ok == [1, 1]); // ok
assert(fail == [1, 1]); // ok
assert(ctfe_ok == [1, 1]);
assert(ctfe_fail == [1, 1]); // throws
}
Unfortunately they fail silently and then you have bugs in your code. I'm not
sure but maybe this bug was reported already? (or a fix is scheduled for the
next release?)
I couldn't be sure so I'm reporting it just in case.
--
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