See Order or Static Construction.http://www.digitalmars.com/d/1.0/module.html
Circular dependencies are allowed so long as not both of the modules contain static ctors or dtors, else will result in a runtime exception.
The very simplest example of this is:===a.d===module a;import b;class A {** *static this()*{}}
===b.d===module b;import a;class B {** *static this()*{}}===main.d===void main() {}
I don't think this is really a compiler bug per se, but attached is a patch for torus that should resolve the conflict and still satisfy runtime.
Regards