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



--- Comment #1 from Witold Baryluk <bary...@smp.if.uj.edu.pl> 2009-11-18 
20:34:58 PST ---
file1.d:
--------------
class F(T, alias s) {
    this() {
        s.c += cast(T)2;
    }
}

class A(T) {
    T c;
}

void main() {
    for (int Mi = 0; Mi < 10; Mi++) {
        scope a = new A!(float)();
        scope f = new F!(float, a)();
    }
}
--------------


file2.d:
--------------
class A {
    void foo() {}
}

class B(alias G) {
    void bar() {
        G.foo();
    }
}

void bzium(A g) {
    new B!(g)();
}
--------------


$ dmd2 file1.d file2.d
file1.d(13): Error: variable bug35xx.main.a has scoped destruction, cannot
build closure
Internal error: e2ir.c 725
$

This is minimal test case I found in big program. actually removing file2.d
from command line helps (file1.d doesn't need anything from file2.d)

$ dmd2 file1.d
file1.d(13): Error: variable bug35xx.main.a has scoped destruction, cannot
build closure
$

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

Reply via email to