https://issues.dlang.org/show_bug.cgi?id=23923

--- Comment #4 from Vladimir Panteleev <[email protected]> ---
The issue does not occur when lazy is replaced with an explicit delegate.

//////////////// test.d ////////////////
@safe:

void delegate() later;

void lazyFun(void delegate() @safe expr)
{
    later = { expr(); };
}

class C
{
    void virtualFunc() {}

    final void run()
    {
        lazyFun({
            virtualFunc();
        });
    }
}

void main()
{
    auto c = new C;
    c.run();
    later();
}
////////////////////////////////////////

--

Reply via email to