Hello.
When I have three files test1.d test2.d test3.d as follows:
module test1;
import tango.io.Stdout;
import test3;
static this(){
Stdout("test1\n");
}
module test2;
import test1;
//no ctor
module test3;
import tango.io.Stdout;
import test2;
static this(){
Stdout("test3\n");
}
and main.d:
module main;
import tango.io.Stdout;
import test1;
import test2;
import test3;
main(){}
static this(){
Stdout("main\n");
}
It works dandy, compiling AND running to give me
test3
test1
main
But if I change the import order to begin with
import test3;
it barfs with the cyclic dependency runtime error. All other
combinations give output same as the first.
Now, what the heck is going on? As near as I can tell these should all
fail at runtime. Or am I missing something?