On 02/04/2013 10:13 AM, ollie wrote:
> I am using wchar[] and find the usage clunky. Am I doing something wrong?
>
> Example:
>      // Compiler complains that wchar[] != immutable(char)[]
>      wchar[] wstr = "This is a wchar[]";

There is nothing but a wchar slice that is going to provide access to the chars on the right-hand side. Unfortunately that is not possible because neither the right-hand side has wchars nor they are mutable.

>      // Compiler accepts this
>      wchar[] wstr = "This is a wchar[]"w.dup;

That's fine: You explicitly make a mutable wchar array.

>      // Compiler accepts this
>      wchar[] wstr;
>      wstr ~= "This is a wchar[]";

That's fine because the binary ~ operator always makes copies of elements.

> If the compiler knows the type in the last example with concatenation,
> shouldn't it be able to figure that out in the first example.

The missing bit is that a copy of the char literal itself is not made automatically.

Ali

Reply via email to