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