On 02/04/2013 10:22 AM, Ali Çehreli wrote:
> 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.

As Steven's post shows, it would work if the left-hand side was immutable:

    immutable(wchar)[] wstr = "This is a wchar[]";

That line involves some help from the compiler: Because the type of the literal on the right-hand side is not specified, the compiler makes one that matches the type of the left-hand side.

In other words, one should not do what I did and assume that literals "like this" are always char arrays. They are char arrays only when there is c at the end "like this"c. Otherwise, although they default to char, the actual type is decided by the compiler.

Ali

Reply via email to