digitalmars.D.bugs - [Issue 4258] New: "auto ref" doesn't work in one or more cases
- d-bugmail puremagic.com (34/34) Jun 01 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4258
- d-bugmail puremagic.com (16/16) Aug 30 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4258
- d-bugmail puremagic.com (14/14) Apr 29 2011 http://d.puremagic.com/issues/show_bug.cgi?id=4258
- d-bugmail puremagic.com (11/13) Jun 30 2011 http://d.puremagic.com/issues/show_bug.cgi?id=4258
- d-bugmail puremagic.com (11/16) Jun 30 2011 http://d.puremagic.com/issues/show_bug.cgi?id=4258
- d-bugmail puremagic.com (11/11) Jul 01 2011 http://d.puremagic.com/issues/show_bug.cgi?id=4258
http://d.puremagic.com/issues/show_bug.cgi?id=4258 Summary: "auto ref" doesn't work in one or more cases Product: D Version: unspecified Platform: x86 OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: bearophile_hugs eml.cc I think this is a correct D2 program: struct Vec { Vec opOpAssign(string Op)(auto ref Vec other) if (Op == "+=") { return this; } Vec opBinary(string Op:"+")(Vec other) { Vec result; return result += other; } } void main() { Vec v; v += Vec() + Vec(); // line 12 } But DMD v2.046 prints: temp.d(12): Error: function temp.Vec.opOpAssign!("+=").opOpAssign (auto ref Vec other) is not callable using argument types (Vec) temp.d(12): Error: (Vec()).opBinary((Vec())) is not an lvalue -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 01 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4258 Andrej Mitrovic <andrej.mitrovich gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrej.mitrovich gmail.com 06:42:08 PDT --- I get different errors with 2.048: bug4258.d(7): Error: 'result' is not a scalar, it is a Vec bug4258.d(7): Error: 'result' is not of arithmetic type, it is a Vec bug4258.d(7): Error: 'other' is not of arithmetic type, it is a Vec bug4258.d(12): Error: template instance bug4258.Vec.opBinary!("+") error instantiating bug4258.d(12): Error: 'v' is not a scalar, it is a Vec -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 30 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4258 Kenji Hara <k.hara.pg gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch, rejects-valid CC| |k.hara.pg gmail.com Platform|x86 |All OS/Version|Windows |All Patch create and send pull request: https://github.com/D-Programming-Language/dmd/pull/51 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Apr 29 2011
http://d.puremagic.com/issues/show_bug.cgi?id=4258 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bugzilla digitalmars.com 01:04:25 PDT ---Patch create and send pull request: https://github.com/D-Programming-Language/dmd/pull/51With the patch, the error is the same as in Andrej's comment. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 30 2011
http://d.puremagic.com/issues/show_bug.cgi?id=4258 Thanks for your merging.Original test code is now invalid, because the template string argument of opOpAssign is just "+", not "+=". I just send pull request for adding test case. Please merge it. https://github.com/D-Programming-Language/dmd/pull/182 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------Patch create and send pull request: https://github.com/D-Programming-Language/dmd/pull/51With the patch, the error is the same as in Andrej's comment.
Jun 30 2011
http://d.puremagic.com/issues/show_bug.cgi?id=4258 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED 19:52:49 PDT --- https://github.com/D-Programming-Language/dmd/commit/ef3c8386ede421aa2756820eebc70dd03c9e58e1 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 01 2011