Would the linker be able to detect, if some translation units use "static type s_member = ...;" and some translation units have the static member variable defined as "static type s_member;" for primitive and class types? Would the correct constructor be called?
Would it work without ABI break, even if one of the translation units was compiled with an old compiler? Even for dynamic libraries?