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