Yes, it's comes from C#.So, there is no static for classes at module level. Good to have a msg for it at compile-time.
import std.stdio; public final abstract class Test { static this() { writeln("in static ctor"); } static : void foo() { writeln("in static method"); } } void main() { Test.foo(); }
public - adds a little bit of verbosity (ref http://wiki.dlang.org/Access_specifiers_and_visibility). For now is noop.
final - adds a no inheritance. abstract - disables non-static ctors. right?