digitalmars.D.bugs - [Issue 2282] New: Struct copy-constructor should call opAssign
- d-bugmail puremagic.com (27/27) Aug 14 2008 http://d.puremagic.com/issues/show_bug.cgi?id=2282
- d-bugmail puremagic.com (13/13) Aug 04 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2282
- d-bugmail puremagic.com (10/10) Oct 11 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2282
- d-bugmail puremagic.com (12/12) Nov 23 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2282
- d-bugmail puremagic.com (6/6) Nov 23 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2282
- d-bugmail puremagic.com (13/14) Nov 23 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2282
- d-bugmail puremagic.com (6/6) Nov 23 2009 http://d.puremagic.com/issues/show_bug.cgi?id=2282
http://d.puremagic.com/issues/show_bug.cgi?id=2282 Summary: Struct copy-constructor should call opAssign Product: D Version: unspecified Platform: PC OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: 2korden gmail.com opAssign isn't called upon copy-construction. I think that the following: struct Test { void opAssign(Test other) { // ... } // ... } Test t1; Test t2 = t1; should be translated into the following: Test t1; Test t2 = void; t2 = t1; --
Aug 14 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2282 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|wrong-code | CC| |clugdbug yahoo.com.au Severity|normal |enhancement This behaviour is by design. I'm marking it as an enhancement, but it should probably be closed as invalid. It's definitely not a wrong-code bug. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 04 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2282 Andrei Alexandrescu <andrei metalanguage.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |andrei metalanguage.com AssignedTo|nobody puremagic.com |andrei metalanguage.com -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 11 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2282 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |INVALID Invalid: use postblit instead. When the types are identical, this(this) gets called, not opAssign. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 23 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2282 --- In D2, yes, but what about D1? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 23 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2282In D2, yes, but what about D1?The spec is quite clear: "The assignment operator cannot be overloaded for rvalues that can be implicitly cast to the lvalue type." (operatoroverloading.html#Assignment). And when I compile the initial code, I get a compiler error message which is clear and which is in perfect agreement with the spec: bug.d(19): Error: function test.Test.opAssign identity assignment operator ove rload is illegal -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 23 2009
http://d.puremagic.com/issues/show_bug.cgi?id=2282 --- Great, thanks! -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 23 2009