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?

Reply via email to