August 17, 2011 [Issue 6522] New: [CTFE] Problem with opAssign call in foreach(ref) | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=6522 Summary: [CTFE] Problem with opAssign call in foreach(ref) Product: D Version: D2 Platform: x86 OS/Version: Windows Status: NEW Keywords: rejects-valid Severity: normal Priority: P2 Component: DMD AssignedTo: nobody@puremagic.com ReportedBy: bearophile_hugs@eml.cc --- Comment #0 from bearophile_hugs@eml.cc 2011-08-17 11:14:58 PDT --- Reduced code (Foo originally was BigInt): struct Foo { bool b = false; void opAssign(int x) { this.b = true; } } int foo() { Foo[1] array; foreach (ref item; array) item = 1; return 0; } enum r = foo(); // error void main() { // const r = foo(); // OK } DMD 2.055beta gives: test.d(9): Error: variable __key4 is used before initialization test.d(10): Error: cannot evaluate item.opAssign(1) at compile time test.d(13): Error: cannot evaluate foo() at compile time -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
November 16, 2011 [Issue 6522] [CTFE] Problem with opAssign call in foreach(ref) | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile_hugs@eml.cc | http://d.puremagic.com/issues/show_bug.cgi?id=6522 Walter Bright <bugzilla@digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla@digitalmars.com Resolution| |FIXED --- Comment #1 from Walter Bright <bugzilla@digitalmars.com> 2011-11-16 11:54:31 PST --- https://github.com/D-Programming-Language/dmd/commit/beef649d9b19ce21e75f3d496af0a67844698c41 https://github.com/D-Programming-Language/dmd/commit/469b82d4ced0f6c7efc79f3f9953da83f2f87e63 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation