On Monday, 29 June 2015 at 02:31:18 UTC, ketmar wrote:
yes. it doesn't do that now, afair, but i can't see any sense in running code that obviously does nothing, as it's owner is not used. module ctors was designed for such things -- i.e. to run some code on startup. if someone is doing some vital initialization in static ctor of struct or class, and that struct or class aren't used anywhere else in his code, he's doing it wrong. it *may* work now, but that's simply 'cause compiler is not very well at removing unused code.
That seems wrong, what if I am doing separate compilation, how would the compiler know if the type is going to be used or not...