digitalmars.D.bugs - [Issue 2327] New: opDot() should work as expected with operator overloading.
- d-bugmail puremagic.com (36/36) Sep 02 2008 http://d.puremagic.com/issues/show_bug.cgi?id=2327
- d-bugmail puremagic.com (7/7) Aug 15 2010 http://d.puremagic.com/issues/show_bug.cgi?id=2327
- d-bugmail puremagic.com (12/12) Aug 27 2011 http://d.puremagic.com/issues/show_bug.cgi?id=2327
- d-bugmail puremagic.com (10/10) May 14 2012 http://d.puremagic.com/issues/show_bug.cgi?id=2327
http://d.puremagic.com/issues/show_bug.cgi?id=2327 Summary: opDot() should work as expected with operator overloading. Product: D Version: 2.018 Platform: PC OS/Version: Windows Status: NEW Severity: minor Priority: P3 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: dsimcha yahoo.com struct Foo { uint i; Foo opAdd(uint input) { return Foo(i + input); } } struct Bar { Foo foo; Foo opDot() { return foo; } } void main() { Bar bar; auto result = bar.opAdd(5); //Works. auto result2 = bar + 5; //Compile time error: test.d|22|Error: incompatible types for ((bar) + (5)): 'Bar' and 'int'| } IMHO, this behavior is incorrect. Operator overloading is supposed to be semantically equivalent to calling the method with the overload name, i.e. a + b is supposed to be the exact semantic equivalent of a.opAdd(b) if a and b are class or struct objects with overloaded opAdd. In this case, it clearly isn't. --
Sep 02 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2327 Is opDot() going to be deprecated once alias this is better-debugged? I see no reason why it shouldn't be. If so, I'll mark this as wontfix. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 15 2010
http://d.puremagic.com/issues/show_bug.cgi?id=2327 David Simcha <dsimcha yahoo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WONTFIX I'm resolving this as WONTFIX because opDot has been superseded by alias this and is no longer documented and scheduled for deprecation. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 27 2011
http://d.puremagic.com/issues/show_bug.cgi?id=2327 Trass3r <mrmocool gmx.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mrmocool gmx.de When will it be deprecated? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 14 2012