On Tue, 26 Jun 2012 13:27:00 -0400, Mehrdad <[email protected]> wrote:

I realize this scenario might look stupid, but I hope the underlying problem isn't.

Does D define what happens in a situation like this?


module a;
import b;
static if (!is(typeof(.b.foo))) int foo = 1;


module b;
import a;
static if (!is(typeof(.a.foo))) int foo = 2;

I don't think it can. D does runtime circular dependency checking at a very coarse level, but this is forcing static checking. I think the compiler will throw a forward reference/recursion error in this case (and if it doesn't, it should).

-Steve

Reply via email to