Why toUTF8 not accept wchar[] as argument?

Uknown sireeshkodali1 at gmail.com
Tue Apr 3 02:31:15 UTC 2018


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.


More information about the Digitalmars-d-learn mailing list