http://d.puremagic.com/issues/show_bug.cgi?id=8332
Summary: std.Array.Range.opIndexOpAssign does not compile Product: D Version: unspecified Platform: All OS/Version: All Status: NEW Severity: major Priority: P2 Component: Phobos AssignedTo: nob...@puremagic.com ReportedBy: monarchdo...@gmail.com --- Comment #0 from monarchdo...@gmail.com 2012-07-01 10:02:15 PDT --- Test code: ---- import std.container; void main() { Array!int myList; myList.length = 2; auto range = myList[]; myList[0] += 1; range[0] += 1; //Doesn't compile } ---- ..\..\src\phobos\std\container.d(1758): Error: expression this._outer of type Array!(int) does not have a boolean value ..\..\src\phobos\std\container.d(1758): Error: undefined identifier '_payload' ..\..\src\phobos\std\container.d(1759): Error: undefined identifier '_payload' main.d(10): Error: template instance std.container.Array!(int).Array.Range.opIndexOpAssign!("+") error instantiating ---- Fault is here: ----phobos / std / container.d l. void opIndexOpAssign(string op)(T value, size_t i) { enforce(_outer && _a + i < _b && _b <= _outer._payload.length); mixin("_outer._payload.ptr[_a + i] "~op~"= value;"); } ---- Suggest changing to: ---- void opIndexOpAssign(string op)(T value, size_t i) { enforce(_a + i < _b && _b <= _outer._data._payload.length); mixin("_outer._data._payload.ptr[_a + i] "~op~"= value;"); } ---- -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------