Why toUTF8 not accept wchar[] as argument?
Seb
seb at wilzba.ch
Tue Apr 3 05:20:55 UTC 2018
On Tuesday, 3 April 2018 at 02:46:51 UTC, Domain wrote:
> 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.
Yep, I opened an enhancement request for you:
https://issues.dlang.org/show_bug.cgi?id=18711
Better diagnostics and error messages is a key goal in 2018 for
dmd ;-)
More information about the Digitalmars-d-learn
mailing list