On Sat, 30 Jan 2016 22:02:10 +0000, Enjoys Math wrote: > On Saturday, 30 January 2016 at 21:52:20 UTC, Enjoys Math wrote: >> >> class A { static B b; } class B {} >> >> doing b = new B() does NOT work. >> >> Nor could I create a this() {} at module level > > More info: > > B : A > > so I can't do > > class A { > this () { > if (b is null) { > b = new B(); > } > } > }
You should use a static constructor: class A { static B b; static this() { b = new B(); } }