[Issue 7965] New: Invalid outer function scope pointer in some cases

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sat Apr 21 23:42:03 PDT 2012


http://d.puremagic.com/issues/show_bug.cgi?id=7965

           Summary: Invalid outer function scope pointer in some cases
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Keywords: wrong-code
          Severity: major
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: verylonglogin.reg at gmail.com


--- Comment #0 from Denis <verylonglogin.reg at gmail.com> 2012-04-22 10:43:01 MSD ---
---
import std.stdio;

void main() {
    int i;
    writeln("Real &i: ", &i); // Prints 12FE44

    void nested() {
        writeln("Fake &i: ", &i); // Prints FFFFFFF0
        i = 0; // Access Violation
    }

    struct LocalS {
        // `S s;` or `S s = void;` fields also causes this bug
        // for `struct S { int unused = 0; }`
        int unused = 0;
        void f() { nested(); }
    }

    LocalS ls;
    ls.f();
}
---

Because of this bug things like `map!nestedPred("a b".splitter(" "))` give us
`Access Violation` so it's major.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list