digitalmars.D.bugs - [Issue 3516] New: Destructor not called on temporaries
- d-bugmail puremagic.com (22/22) Nov 16 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3516
- d-bugmail puremagic.com (6/6) Nov 16 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3516
- d-bugmail puremagic.com (11/11) Nov 29 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3516
- d-bugmail puremagic.com (8/8) Jan 18 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3516
- d-bugmail puremagic.com (39/39) May 30 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3516
- d-bugmail puremagic.com (10/10) Jul 06 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3516
- d-bugmail puremagic.com (31/31) Jul 10 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3516
- d-bugmail puremagic.com (10/10) Jul 10 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3516
- d-bugmail puremagic.com (15/15) Aug 23 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3516
- d-bugmail puremagic.com (11/11) Sep 20 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3516
- d-bugmail puremagic.com (6/6) Sep 22 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3516
- d-bugmail puremagic.com (10/10) Nov 14 2010 http://d.puremagic.com/issues/show_bug.cgi?id=3516
- d-bugmail puremagic.com (11/11) Apr 26 2011 http://d.puremagic.com/issues/show_bug.cgi?id=3516
- d-bugmail puremagic.com (15/15) Jun 27 2011 http://d.puremagic.com/issues/show_bug.cgi?id=3516
http://d.puremagic.com/issues/show_bug.cgi?id=3516 Summary: Destructor not called on temporaries Product: D Version: 2.032 Platform: Other OS/Version: Windows Status: NEW Severity: major Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: bartosz relisoft.com PST --- Created an attachment (id=497) Reference counting doesn't work when temporaries created Function f returns (by value) a struct that has a destructor. If I explicitly assign the result of f to a temporary, that temporary is destroyed at the end of scope. If I don't assign it, the hidden temporary is not destroyed. In the attached example this screws up reference counting. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 16 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3516 PST --- *** Issue 3518 has been marked as a duplicate of this issue. *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 16 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3516 Leandro Motta Barros <lmb stackedboxes.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lmb stackedboxes.org 03:21:36 PST --- I don't know if this is useful information, but I've been bitten by this same bug under Linux with DMD 2.036. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 29 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3516 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|major |critical -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 18 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3516 Brad Roberts <braddr puremagic.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |braddr puremagic.com --- Reduced test case: extern(C) int printf(const char*, ...); int numctor, numdtor; struct Tid { this(int i) { ++numctor; } ~this() { ++numdtor; } } Tid f() { return Tid(1); } // This temporary is destroyed void test1() { Tid tid = f(); } // This (invisible) temporary is never destroyed void test2() { f(); } void main() { numctor = numdtor = 0; test1(); printf("numctor = %d, numdtor = %d\n", numctor, numdtor); assert(numctor == 1); assert(numdtor == 1); numctor = numdtor = 0; test2(); printf("numctor = %d, numdtor = %d\n", numctor, numdtor); assert(numctor == 1); assert(numdtor == 1); } Current results: numctor = 1, numdtor = 1 numctor = 1, numdtor = 0 core.exception.AssertError bug3516(31): Assertion failure -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 30 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3516 Lionello Lunesu <lio+bugzilla lunesu.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |yaochenghan gmail.com 01:34:59 PDT --- *** Issue 3285 has been marked as a duplicate of this issue. *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 06 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3516 Adrian Matoga <epi atari8.info> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |epi atari8.info Still active in 2.047, testcase: import std.stdio; struct A { int a; this(int a) { this.a = a; writeln("hello, ", a); } ~this() { writeln("bye, ", a); } void doSth() { writeln("something"); } } void main() { auto a1 = A(1); a1.doSth(); A(2).doSth(); } produces: hello, 1 something hello, 2 something bye, 1 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 10 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3516 Andrei Alexandrescu <andrei metalanguage.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrei metalanguage.com 06:25:14 PDT --- Upvoted. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 10 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3516 SHOO <zan77137 nifty.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P2 |P3 CC| |zan77137 nifty.com Upvoted. By recent usage of struct, this bug is serious. This should be supported quickly. I suspect that these may be connected with each other: http://d.puremagic.com/issues/show_bug.cgi?id=4712 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 23 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3516 andy aligature.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andy aligature.com This bug also seems like it could be the cause of http://d.puremagic.com/issues/show_bug.cgi?id=4613 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 20 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3516 *** Issue 4613 has been marked as a duplicate of this issue. *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Sep 22 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3516 Max Samukha <samukha voliacable.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |samukha voliacable.com PST --- This one is critical for QtD. Can it be fixed soon? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 14 2010
http://d.puremagic.com/issues/show_bug.cgi?id=3516 Vladimir <thecybershadow gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |thecybershadow gmail.com PDT --- listed as fixed in the DMD changelog. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Apr 26 2011
http://d.puremagic.com/issues/show_bug.cgi?id=3516 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED Closing this bug, as all of the test cases in this report now work, and destructors are also called when exceptions are present: https://github.com/D-Programming-Language/dmd/commit/41abb2b915d1c826af83a2c8cba5f6fb646d1089 If there are any remaining cases where destructors are not called, they should be reported as a different bug. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 27 2011