[Issue 10741] New: A delegate in a variable initializer cannot see the variable

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Aug 1 12:05:26 PDT 2013


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

           Summary: A delegate in a variable initializer cannot see the
                    variable
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: DMD
        AssignedTo: nobody at puremagic.com
        ReportedBy: andrej.mitrovich at gmail.com


--- Comment #0 from Andrej Mitrovic <andrej.mitrovich at gmail.com> 2013-08-01 12:05:25 PDT ---
This is an interesting limitation:

-----
struct Foo
{
    this(void delegate()) { }
    void test() { }
}

void main()
{
    Foo foo1;
    foo1 = Foo({ foo1.test(); });  // ok

    Foo foo2 = Foo({ foo2.test(); });  // L14: error
}
-----

$ dmd test.d
> test.d(14): Error: undefined identifier foo2, did you mean variable foo1?

It seems the delegate cannot see the 'foo2' variable yet. I'm not sure if there
would be any problems making this work?

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