Adam D. Ruppe:
but the optimizer might see that the initalization is useless and skip it.
Currently D compilers seem not good at that. In std.array there are two functions to allocate arrays that are not or not fully initialized to avoid a double initialization.
Bye, bearophile