@johan @luna
I would not describe having a nondeterministic race condition between format specifiers from different threads as being “thread safe,” except in the most uselessly pedantic way imaginable.
And no, I can’t think of another language that has this problem, because all of them use that magic native internal buffer we refer to as “local expression evaluation.”