On Monday, 20 January 2014 at 13:30:11 UTC, Tobias Pankrath wrote:
(w|d)string.length returning anything else then the number of underlying code points would be inconsistent to other array types and m aking (d|w)string arrays of code points was a (arguably good) design decision.

Code units, not code points.

Of course, a single UTF-32 code unit is also a single code point.

That said: nothing prevents you from writing another string type that abstracts from the actual string encoding.

Such types tend to have absolutely awful performance. It is a minefield of disastrous algorithmic complexity, too (e.g. length).

Phobos did it wrong though with handling char[] different from T[].

It is only for ranges, and I think it's a good decision.

Reply via email to