digitalmars.D.bugs - [Issue 4651] New: Docs: Returned classes that have access to stack variables of its enclosing function
- d-bugmail puremagic.com (47/47) Aug 15 2010 http://d.puremagic.com/issues/show_bug.cgi?id=4651
- d-bugmail puremagic.com (10/10) Jan 23 2012 http://d.puremagic.com/issues/show_bug.cgi?id=4651
- d-bugmail puremagic.com (10/10) Jan 23 2012 http://d.puremagic.com/issues/show_bug.cgi?id=4651
- d-bugmail puremagic.com (8/14) Jan 23 2012 http://d.puremagic.com/issues/show_bug.cgi?id=4651
- d-bugmail puremagic.com (6/6) Jan 23 2012 http://d.puremagic.com/issues/show_bug.cgi?id=4651
http://d.puremagic.com/issues/show_bug.cgi?id=4651 Summary: Docs: Returned classes that have access to stack variables of its enclosing function Product: D Version: D2 Platform: Other OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: www.digitalmars.com AssignedTo: nobody puremagic.com ReportedBy: andrej.mitrovich gmail.com 19:23:25 PDT --- This is an outdated statement: "While a non-static nested class can access the stack variables of its enclosing function, that access becomes invalid once the enclosing function exits: class Base { int foo() { return 1; } } Base func() { int m = 3; class Nested : Base { int foo() { return m; } } Base b = new Nested; assert(b.foo() == 3); // Ok, func() is still active return b; } int test() { Base b = func(); return b.foo(); // Error, func().m is undefined } " As is stated in TDPL, variables in the local function get allocated on the heap if DMD detects that a returning class needs access to it. This section needs to be updated. The next section with the code example for a workaround can be removed: "If this kind of functionality is needed, the way to make it work is to make copies of the needed variables within the nested class's constructor" -- 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=4651 Commit pushed to https://github.com/D-Programming-Language/d-programming-language.org https://github.com/D-Programming-Language/d-programming-language.org/commit/c58bfaea9250e432ec3929bc59f0bad30f006812 fix Issue 4651 - Docs: Returned classes that have access to stack variables of its enclosing function -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 23 2012
http://d.puremagic.com/issues/show_bug.cgi?id=4651 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla digitalmars.com Resolution| |FIXED -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 23 2012
http://d.puremagic.com/issues/show_bug.cgi?id=4651 22:30:37 PST ---Commit pushed to https://github.com/D-Programming-Language/d-programming-language.org https://github.com/D-Programming-Language/d-programming-language.org/commit/c58bfaea9250e432ec3929bc59f0bad30f006812 fix Issue 4651 - Docs: Returned classes that have access to stack variables of its enclosing functionSince you're on a roll (Walter) you could also $(D1) wrap the section on nested functions, Issue 4556. If not, I'll make a pull myself. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 23 2012
http://d.puremagic.com/issues/show_bug.cgi?id=4651 23:30:43 PST --- Feel free to do a pull. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 23 2012