typeof(string.front) should be char

Ali Çehreli acehreli at yahoo.com
Sat Mar 3 06:10:22 PST 2012


On 03/03/2012 04:36 AM, Jacob Carlborg wrote:
> On 2012-03-03 03:30, Piotr Szturmaj wrote:
>> Hello,
>>
>> For this code:
>>
>> auto c = "test"c;
>> auto w = "test"w;
>> auto d = "test"d;
>> pragma(msg, typeof(c.front));
>> pragma(msg, typeof(w.front));
>> pragma(msg, typeof(d.front));
>>
>> compiler prints:
>>
>> dchar
>> dchar
>> immutable(dchar)
>
> I thought all these would be either "dchar" or "immutable(dchar)". Why
> are they of different types?

In the case of char and wchar slices, the "elements" are decoded as the 
iteration happens. In other words, the returned values are not actual 
elements of the ranges.

>
>> IMO it should print this:
>>
>> immutable(char)
>> immutable(wchar)
>> immutable(dchar)
>>
>> Is it a bug?
>
>

Ali


More information about the Digitalmars-d-learn mailing list