digitalmars.D.bugs - [Issue 519] New: Invariant not called from autogenerated constructor
- d-bugmail puremagic.com (28/28) Nov 15 2006 http://d.puremagic.com/issues/show_bug.cgi?id=519
- d-bugmail puremagic.com (8/8) Jan 10 2009 http://d.puremagic.com/issues/show_bug.cgi?id=519
- d-bugmail puremagic.com (10/10) Jun 17 2010 http://d.puremagic.com/issues/show_bug.cgi?id=519
- d-bugmail puremagic.com (21/21) Nov 26 2010 http://d.puremagic.com/issues/show_bug.cgi?id=519
- d-bugmail puremagic.com (15/15) Nov 26 2010 http://d.puremagic.com/issues/show_bug.cgi?id=519
- d-bugmail puremagic.com (18/18) Jun 17 2011 http://d.puremagic.com/issues/show_bug.cgi?id=519
- d-bugmail puremagic.com (33/33) Jun 20 2011 http://d.puremagic.com/issues/show_bug.cgi?id=519
- d-bugmail puremagic.com (10/10) Jan 21 2012 http://d.puremagic.com/issues/show_bug.cgi?id=519
- d-bugmail puremagic.com (25/25) Oct 30 2012 http://d.puremagic.com/issues/show_bug.cgi?id=519
- d-bugmail puremagic.com (10/10) Nov 15 2012 http://d.puremagic.com/issues/show_bug.cgi?id=519
- d-bugmail puremagic.com (6/6) Feb 06 2013 http://d.puremagic.com/issues/show_bug.cgi?id=519
http://d.puremagic.com/issues/show_bug.cgi?id=519 Summary: Invariant not called from autogenerated constructor Product: D Version: 0.174 Platform: PC OS/Version: Windows Status: NEW Keywords: wrong-code Severity: major Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: deewiant gmail.com This code should fail regardless of whether the constructor is commented out or not: class Foo { // this() {} invariant { assert (false); } } void main() { Foo foo = new Foo(); } Yet, it only does if the constructor is explicitly specified. The invariant is not called from the automatically inserted constructor, even though there's no reason why it shouldn't be. --
Nov 15 2006
http://d.puremagic.com/issues/show_bug.cgi?id=519 smjg iname.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |gim913 gmail.com *** Bug 2184 has been marked as a duplicate of this bug. *** --
Jan 10 2009
http://d.puremagic.com/issues/show_bug.cgi?id=519 bearophile_hugs eml.cc changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bearophile_hugs eml.cc *** Issue 4331 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: -------
Jun 17 2010
http://d.puremagic.com/issues/show_bug.cgi?id=519 Andrei Alexandrescu <andrei metalanguage.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |andrei metalanguage.com AssignedTo|nobody puremagic.com |bugzilla digitalmars.com 11:39:12 PST --- The example needs parens: class Foo { // this() {} invariant { assert (false); } } void main() { Foo foo = new Foo(); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 26 2010
http://d.puremagic.com/issues/show_bug.cgi?id=519 11:39:39 PST --- Forgot to add the actual parens :o). class Foo { // this() {} invariant() { assert (false); } } void main() { Foo foo = new Foo(); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 26 2010
http://d.puremagic.com/issues/show_bug.cgi?id=519 yebblies <yebblies gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |yebblies gmail.com What should happen in these cases? class A { shared invariant {} } class A { immutable invariant {} } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 17 2011
http://d.puremagic.com/issues/show_bug.cgi?id=519 Kenji Hara <k.hara.pg gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |k.hara.pg gmail.com Autogenerated destructor has same problem: ---- import core.stdc.stdio : printf; class Foo { invariant() { printf("Foo.invariant\n"); } } void main() { Foo foo = new Foo(); printf("lifetime of foo\n"); delete foo; } ---- Should print: ---- Foo.invariant lifetime of foo Foo.invariant ---- But current output is: ---- lifetime of foo ---- -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 20 2011
http://d.puremagic.com/issues/show_bug.cgi?id=519 yebblies <yebblies gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |devbai mnet-mail.de *** Issue 7334 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: -------
Jan 21 2012
http://d.puremagic.com/issues/show_bug.cgi?id=519 Denis Shelomovskij <verylonglogin.reg gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |verylonglogin.reg gmail.com Summary|Invariant not called from |Invariant not called from |autogenerated constructor |autogenerated class/struct | |constructor/destructor 16:05:58 MSK --- Structs have the same problem: --- import std.stdio; struct S { invariant() { writeln("invariant"); } // never called // ~this() { writeln("~this"); } // uncomment to call invariant } void main() { auto s = S(); } --- -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 30 2012
http://d.puremagic.com/issues/show_bug.cgi?id=519 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrej.mitrovich gmail.com *** Issue 9019 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 15 2012
http://d.puremagic.com/issues/show_bug.cgi?id=519 See also Issue 9454 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Feb 06 2013