import std.stdio; void main() { C c = new C(100); writefln(c.arr); writefln("----"); writefln(gar); writefln("----"); delete c.arr; delete gar; writefln(c.arr); writefln("----"); writefln(gar); } class C { invariant int[] arr; this(size_t sz) { arr = cast(invariant int[])new int[sz]; for(size_t i = 0; i < sz; i++) cast(int)arr[i] = i; } } const sz = 100; invariant int[] gar; static this() { gar = cast(invariant int[])new int[sz]; for(size_t i = 0; i < sz; i++) cast(int)gar[i] = i; }
https://github.com/D-Programming-Language/dmd/pull/175
https://github.com/D-Programming-Language/dmd/commit/a0972b028e90a7a673683dad265cdd0c94ea49e1