digitalmars.D.bugs - [Issue 4554] New: accepts-invalid Cyclic constructor calls cause stack overflow
- d-bugmail puremagic.com (32/32) Aug 01 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4554
- d-bugmail puremagic.com (12/34) Aug 13 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4554
- d-bugmail puremagic.com (13/13) Jan 29 2012 http://d.puremagic.com/issues/show_bug.cgi?id=4554
- d-bugmail puremagic.com (15/15) Jan 30 2012 http://d.puremagic.com/issues/show_bug.cgi?id=4554
- d-bugmail puremagic.com (13/13) Jan 31 2012 http://d.puremagic.com/issues/show_bug.cgi?id=4554
http://d.puremagic.com/issues/show_bug.cgi?id=4554 Summary: accepts-invalid Cyclic constructor calls cause stack overflow Product: D Version: D2 Platform: Other OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: andrej.mitrovich gmail.com 13:45:41 PDT --- On this page: http://www.digitalmars.com/d/2.0/class.html It states "It is illegal for constructors to mutually call each other". This will compile and cause a stack overflow: import std.stdio; class C { this() { this(1); } this(int i) { this(); } // illegal, cyclic constructor calls } void main() { C c = new C; } object.Error: Stack Overflow Isn't it possible to make this a compiler error? Or maybe this is a form of a halting-problem and can't be fixed? :) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 01 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4554 Don <clugdbug yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |clugdbug yahoo.com.auOn this page: http://www.digitalmars.com/d/2.0/class.html It states "It is illegal for constructors to mutually call each other". This will compile and cause a stack overflow: import std.stdio; class C { this() { this(1); } this(int i) { this(); } // illegal, cyclic constructor calls } void main() { C c = new C; } object.Error: Stack Overflow Isn't it possible to make this a compiler error? Or maybe this is a form of a halting-problem and can't be fixed? :)I guess the compiler could set up a dependency tree of constructor calls, and check for cycles. Quite a bit of work. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 13 2010
http://d.puremagic.com/issues/show_bug.cgi?id=4554 Andrej Mitrovic <andrej.mitrovich gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID 11:20:47 PST --- Page now reads: "It is illegal for constructors to mutually call each other, although the compiler is not required to detect it." -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 29 2012
http://d.puremagic.com/issues/show_bug.cgi?id=4554 yebblies <yebblies gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED CC| |yebblies gmail.com Platform|Other |All Resolution|INVALID | OS/Version|Windows |All Severity|normal |enhancement I think this is worth asking for. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 30 2012
http://d.puremagic.com/issues/show_bug.cgi?id=4554 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REOPENED |RESOLVED CC| |bugzilla digitalmars.com Resolution| |WONTFIX 01:22:00 PST --- It's technically not a solvable problem in the general case. I think it's the halting problem. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 31 2012