https://dlang.org/spec/type.html
Well, it good weirder. int types are 0s except char types which are 0xFF, 0xFFFF (-1). Except dchar (32bit uint) which is 0x0000FFFF. And all floating types are NaN. Why the inconsistency?
Is there a reason for this? If you are gonna initialize your locals why not 0 for all? It would be more expected, consistent and probably efficient.