Why toUTF8 not accept wchar[] as argument?

Domain dont_email at empty.com
Tue Apr 3 02:46:51 UTC 2018


On Tuesday, 3 April 2018 at 02:31:15 UTC, Uknown wrote:
> On Tuesday, 3 April 2018 at 02:24:08 UTC, Domain wrote:
>> wchar[10] buffer;
>> toUTF8(buffer);
>>
>> Error: template `std.utf.toUTF8` cannot deduce function from 
>> argument types `!()(wchar[10])`, candidates are:
>> /dlang/dmd/linux/bin64/../../src/phobos/std/utf.d(2713):
>>  `std.utf.toUTF8(S)(S s) if (isInputRange!S && !isInfinite!S 
>> && isSomeChar!(ElementEncodingType!S))`
>>
>>
>> I know buffer.idup is OK. But why? That's very inconvenient.
>
> What you need to do is slice your buffer. So your call will 
> become like this:
>
> ---
> toUTF8(buffer[]);
> ---
>
> Now it will work as expected.

I see. Maybe the error message could be improved.



More information about the Digitalmars-d-learn mailing list