void main() { import core.stdc.stdio : printf; ulong ul = 0; printf( "%lu\n", ul ); } Tested on dmd 2.093 and 2.093.1 (noticed on later first time), with flag -m64. Same message when format specifier is %u. Is this intended behavior?