This code, that a sane language/language implementation refuses at compile-time, runs: import std.stdio; void main() { writefln("%d", "hello"); } And it outputs: ['h', 'e', 'l', 'l', 'o'] Is this good/expected/acceptable/buggy? Bye, bearophile