On Wednesday, 28 November 2012 at 15:54:52 UTC, Manu wrote:
module a;
import b;
mixin RegisterModule;
module b;
import a;
mixin RegisterModule;
Certainly a potential problem, but I've set up my code such
that these
static constructors themselves have no external dependencies,
and
initialisation order is unimportant, since registered stuff
just ends up in
a globally accessible hash table anyway.
Not a problem for me, but I have encountered this problem in
other
situations, and also prototype configurations ;)
That is a problem for anyone who builds a library for general
use. Static constructors in mixins are inapt unless you want to
impose a certain project structure (no circular imports) on your
users.