[Issue 11220] New: Regression in master: XXX__lambda2 cannot access frame of function XXX

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Oct 10 12:23:44 PDT 2013


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

           Summary: Regression in master: XXX__lambda2 cannot access frame
                    of function XXX
           Product: D
           Version: future
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: deadalnix at gmail.com


--- Comment #0 from deadalnix <deadalnix at gmail.com> 2013-10-10 12:23:42 PDT ---
auto lex(R)(R ) {
    struct Lexer {
        int t;

        @property
        auto front() {
            return t;
        }
    }

    auto lexer = Lexer();

    return lexer;
}

auto flattenMixin() {
    auto trange = lex('\0');
    trange.parsePrimaryExpression();
}

void parsePrimaryExpression(R)(R trange) {
    trange.parseAmbiguous!((parsed) {
        trange.front;
    });
}

typeof(handler(null)) parseAmbiguous(alias handler, R)(R trange) {
    return handler(trange.parsePrimaryExpression());
}

Trying to compile this with DMD from master gives
src/d/semantic/declaration.d(24): Error: function
declaration.parsePrimaryExpression!(Lexer).parsePrimaryExpression.__lambda2!(typeof(null)).__lambda2
cannot access frame of function
declaration.parsePrimaryExpression!(Lexer).parsePrimaryExpression

This used to compile (this is a reduction of actual code in SDC).

-- 
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