Getting rid of global cdtors

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sun Jun 14 18:53:52 UTC 2020


Getting rid of static cdtors is a good goal for druntime and standard 
library. Modules that need initialization should do so lazily upon first 
use.

I picked a low-hanging fruit in 
https://github.com/dlang/phobos/pull/7529 - there is no need at all to 
initialize and test pointers to function in Posix.

Could a Windows engineer help with the Windows part? It's a bit more 
involved - the pointers to functions should be initialized upon first 
use in a Singleton manner, and atexit(WSACleanup) needs to be inserted 
right after the call to WSAStartup.

(BTW, has wine support been maintained? It would be useful for such 
cases - I could test the Windows code without an installation.)



More information about the Digitalmars-d mailing list