digitalmars.D.bugs - [Issue 11276] New: Possibly spurious (did you forget a [] ?) error message
- d-bugmail puremagic.com (48/48) Oct 15 2013 http://d.puremagic.com/issues/show_bug.cgi?id=11276
- d-bugmail puremagic.com (25/25) Oct 15 2013 http://d.puremagic.com/issues/show_bug.cgi?id=11276
- d-bugmail puremagic.com (8/8) Oct 15 2013 http://d.puremagic.com/issues/show_bug.cgi?id=11276
- d-bugmail puremagic.com (9/47) Oct 16 2013 http://d.puremagic.com/issues/show_bug.cgi?id=11276
- d-bugmail puremagic.com (16/19) Oct 16 2013 http://d.puremagic.com/issues/show_bug.cgi?id=11276
- d-bugmail puremagic.com (8/16) Oct 16 2013 http://d.puremagic.com/issues/show_bug.cgi?id=11276
- d-bugmail puremagic.com (11/11) Oct 16 2013 http://d.puremagic.com/issues/show_bug.cgi?id=11276
- d-bugmail puremagic.com (8/10) Oct 16 2013 http://d.puremagic.com/issues/show_bug.cgi?id=11276
- d-bugmail puremagic.com (9/16) Oct 16 2013 http://d.puremagic.com/issues/show_bug.cgi?id=11276
- d-bugmail puremagic.com (12/12) Oct 20 2013 http://d.puremagic.com/issues/show_bug.cgi?id=11276
http://d.puremagic.com/issues/show_bug.cgi?id=11276 Summary: Possibly spurious (did you forget a [] ?) error message 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 This could be a problem in DMD and one related but different in Phobos. This used to work: import std.algorithm: reduce; struct Foo { int x, y; } void main() { Foo[] data = [{10, 20}, {30, 40}]; reduce!((a, b) => a[] += [b.x, b.y][])([0, 0], data); } Now it gives (dmd 2.064beta1): test.d(5): Error: invalid array operation a[] += [b.x, b.y] (did you forget a [] ?) ...\dmd2\src\phobos\std\algorithm.d(763): Error: template instance test.main.__lambda1!(int[], Foo) error instantiating test.d(5): instantiated from here: reduce!(int[], Foo[]) test.d(5): Error: template instance test.main.reduce!((a, b) => a[] += [b.x, b.y][]).reduce!(int[], Foo[]) error instantiating Expanding the lambda doesn't fully solve the problem (now compiling with "-wi"): import std.algorithm: reduce; struct Foo { int x, y; } void main() { Foo[] data = [{10, 20}, {30, 40}]; reduce!((a, b) { int[2] c = [b.x, b.y]; a[] += c[]; return c;})([0, 0], data); } Gives: ...\dmd2\src\phobos\std\algorithm.d(763): Warning: explicit slice assignment result = (__lambda1(result, front(_param_1)))[] is better than result = __lambda1(result, front(_param_1)) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 15 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11276 Andrej Mitrovic <andrej.mitrovich gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrej.mitrovich gmail.com 14:34:34 PDT --- W.r.t. diagnostics, I've ran into the following when compiling msgpack-d: ----- C:\dmd-git\dmd2\windows\bin\..\..\src\phobos\std\typecons.d(453): Warning: explicit element-wise assign ment (this._expand_field_3)[] = (another._expand_field_3)[] is better than this._expand_field_3 = anoth er._expand_field_3 C:\dmd-git\dmd2\windows\bin\..\..\src\phobos\std\typecons.d(453): Warning: explicit element-wise assign ment (this._expand_field_4)[] = (another._expand_field_4)[] is better than this._expand_field_4 = anoth er._expand_field_4 ----- It's again an odd diagnostic inside of Phobos. The issue and compile flags are reported here: https://github.com/msgpack/msgpack-d/issues/15 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 15 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11276 bearophile_hugs eml.cc changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |regression -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 15 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11276This could be a problem in DMD and one related but different in Phobos. This used to work: import std.algorithm: reduce; struct Foo { int x, y; } void main() { Foo[] data = [{10, 20}, {30, 40}]; reduce!((a, b) => a[] += [b.x, b.y][])([0, 0], data); } Now it gives (dmd 2.064beta1): test.d(5): Error: invalid array operation a[] += [b.x, b.y] (did you forget a [] ?) ...\dmd2\src\phobos\std\algorithm.d(763): Error: template instance test.main.__lambda1!(int[], Foo) error instantiating test.d(5): instantiated from here: reduce!(int[], Foo[]) test.d(5): Error: template instance test.main.reduce!((a, b) => a[] += [b.x, b.y][]).reduce!(int[], Foo[]) error instantiatingThis is a duplicate issue of bug 10684. I'll increased importance of the issue.Expanding the lambda doesn't fully solve the problem (now compiling with "-wi"): import std.algorithm: reduce; struct Foo { int x, y; } void main() { Foo[] data = [{10, 20}, {30, 40}]; reduce!((a, b) { int[2] c = [b.x, b.y]; a[] += c[]; return c;})([0, 0], data); } Gives: ...\dmd2\src\phobos\std\algorithm.d(763): Warning: explicit slice assignment result = (__lambda1(result, front(_param_1)))[] is better than result = __lambda1(result, front(_param_1))This is a regression caused by implementing issue 7444. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 16 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11276 bearophile_hugs eml.cc changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |diagnostic Component|DMD |Phobos Summary|Possibly spurious (did you |Spurious "explicit slice |forget a [] ?) error |assignment ...[] is better" |message |warning message in PhobosThis is a duplicate issue of bug 10684. I'll increased importance of the issue. ... This is a regression caused by implementing issue 7444.Then I have renamed and modified this issue, now it's just about the Phobos warning problem. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 16 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11276I think the enh 7444 may not be usable in generic code. Maybe we need to disable 7444 for 2.064 release... -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------This is a duplicate issue of bug 10684. I'll increased importance of the issue. ... This is a regression caused by implementing issue 7444.Then I have renamed and modified this issue, now it's just about the Phobos warning problem.
Oct 16 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11276 Kenji Hara <k.hara.pg gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |pull PR to disable the feature that had proposed and implemented by issue 7444. https://github.com/D-Programming-Language/dmd/pull/2673 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 16 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11276I think the enh 7444 may not be usable in generic code. Maybe we need to disable 7444 for 2.064 release...Do you plan in restoring 7444 for 2.065? Do you have ideas regarding how to fix this situation and save the 7444? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 16 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11276If the code is in template instance, compiler can stop warning. It would save the generic code case in this issue. However, currently I have no idea for issue 11244. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------I think the enh 7444 may not be usable in generic code. Maybe we need to disable 7444 for 2.064 release...Do you plan in restoring 7444 for 2.065? Do you have ideas regarding how to fix this situation and save the 7444?
Oct 16 2013
http://d.puremagic.com/issues/show_bug.cgi?id=11276 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla digitalmars.com Resolution| |FIXED 09:39:45 PDT --- https://github.com/D-Programming-Language/dmd/pull/2673 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 20 2013