On Monday, 21 December 2015 at 06:00:45 UTC, Shriramana Sharma wrote:
I suppose what you mean is, the onus of guaranteeing that const(char)* refers to a null-terminated string is upon the person calling the to! function? Yes I understand, and Phobos documentation does say that using a pointer for input makes this "@system". Wouldn't it be better to just reject pointer as input and force people to use fromStringz?

It could also simply have done the same as format("%p", p). The problem isn't that to!string is too accepting, but that it makes an unsafe assumption with an inconspicuous, generic interface.

I see that "%s".format(str) where str is a const(char)* just prints the pointer value in hex. So perhaps one should say that std.format just treats it like any other pointer (and not specifically that it treats it as a pointer to a single char)?

Indeed.

Reply via email to