On 2011-06-18 03:52, Mafi wrote: > Am 18.06.2011 10:36, schrieb Jonathan M Davis: > > The main purpose of toStringz is to turn a string into a char* which can > > be passed to a C function. C doesn't have immutable, and I don't see any > > gain in having toStringz return an immutable(char)* rather than a > > const(char)*. Does anyone know why it returns an immutable rather than a > > const? What possible benefit does that have? > > > > - Jonathan M Davis > > If anyone ever writes a function which needs immutable chars, toStringz > just wroks for it. And functions which take const(char)* can get > immutable(char)* without problems. (If not, that is bug, I hope)
Good point. I should have thought of that. I wouldn't expect many functions to be taking immutable(char)* though, since the main reason to use char* is to interface with C. But it doesn't hurt to make it immutable, I guess. It's more flexible even if that flexibility is almost always useless. But since that flexibility doesn't cost anything, we might as well have it. - Jonathan M Davis
