On Saturday, 1 October 2016 at 18:33:02 UTC, TheFlyingFiddle wrote:
On Saturday, 1 October 2016 at 16:45:11 UTC, Uranuz wrote:
[...]

There are two reasons why this does not compile. The first has to do with how retro() (and indeed most function in std.range) work with utf-8 strings (eg the string type). When working on strings as ranges, the ranges internally change the type of ".front" from 'char' into 'dchar'. This is done to ensure that algorithms working on strings do not violate utf-8.

[...]

Thanks for clarification. It seems that once upon a time I'll write my own string wrapper that will return just slice of `string` pointing to source multibyte sequence as .front and will use it, and be happy. When I looking more at other languages (like Python) then I more convinced that working with UTF-8 string as array of single bytes is not very good

Reply via email to