Narrow string is not a random access range

Timon Gehr timon.gehr at gmx.ch
Tue Oct 23 15:28:28 PDT 2012


On 10/23/2012 05:58 PM, mist wrote:
> On Tuesday, 23 October 2012 at 15:55:23 UTC, Andrei Alexandrescu wrote:
>> On 10/23/12 11:36 AM, mist wrote:
>>> Was thinking on this topic after seeing this:
>>> http://stackoverflow.com/questions/13014999/cannot-slice-taker-from-std-range-in-d
>>>
>>>
>>> Still can't understand rationale here. Why native slicing / random
>>> access is allowed for narrow strings, but trait explicitly negates this?
>>
>> Historical mistake.
>>
>> Andrei
>
> Is string  random access gonna be deprecated some day then or this is
> considered a mistake we need to get used to? :)

The other valid opinion is that the 'mistake' is in Phobos because it
treats narrow character arrays specially.
Note that string is just a name for immutable(char)[]. It would have to 
become a struct if random access was to be deprecated.



More information about the Digitalmars-d-learn mailing list