string is rarely useful as a function argument
Artur Skawina
art.08.09 at gmail.com
Wed Dec 28 08:34:28 PST 2011
On 12/28/11 13:42, bearophile wrote:
> Peter Alexander:
>
>> I often get into situations where I've written
>> a function that takes a string, and then I can't call it because all I
>> have is a char[].
>
> I suggest you to show some of such situations.
>
>
>> I think it's telling that most Phobos functions use 'const(char)[]' or
>> 'in char[]' instead of 'string' for their arguments. The ones that use
>> 'string' are usually using it unnecessarily and should be fixed to use
>> const(char)[].
>
> What are the Phobos functions that unnecessarily accept a string?
eg things like std.demangle? (which wraps core.demangle and that one accepts const(char)[]). IIRC eg the stdio functions taking file names want strings too; never investigated if they really need this, just .iduped the args...
In general, a lot of things break when trying to switch to "proper" const(char)[] in apps, usually because the app itself used "string" instead of the const version, but fixing it up often also uncovers lib API issues.
artur
More information about the Digitalmars-d
mailing list