On 05/27/2016 03:32 PM, Andrei Alexandrescu wrote:
However the following do require autodecoding:

s.walkLength
s.count!(c => !"!()-;:,.?".canFind(c)) // non-punctuation
s.count!(c => c >= 32) // non-control characters

Currently the standard library operates at code point level even
though inside it may choose to use code units when admissible. Leaving
such a decision to the library seems like a wise thing to do.

But how is the user supposed to know without being a core contributor to
Phobos?

Misunderstanding. All examples work properly today because of
autodecoding. -- Andrei

They only work "properly" if you define "properly" as "in terms of code points". But working in terms of code points is usually wrong. If you want to count "characters", you need to work with graphemes.

https://dpaste.dzfl.pl/817dec505fd2

Reply via email to