On Friday, 2 April 2021 at 15:01:07 UTC, mw wrote:
>BTW, shall I log a writeln() improvement bug ?
It's really confusing, e.g as debug print or logs.
In my opinion this isn't a bug. The nulls are actually printed:
$> rdmd test.d | hd
00000000 61 62 63 00 00 00 36 0a 68 65 61 64 2d 61 62 63 |abc...6.head-abc|
00000010 00 00 00 2d 74 61 69 6c 31 36 0a |...-tail16.|
0000001b
It's just, that you can't see them, because it's an invisible character.
If you want to get \0
for nulls, you could write
writefln!"%(%s%)"(only(t));
With this, t
is printed as a string literal:
"head-abc\0\0\0-tail"