On Friday, 16 November 2012 at 17:30:57 UTC, Denis Shelomovskij
wrote:
16.11.2012 17:18, monarch_dodra пишет:
As you can see, when operating on UTF strings, the (expected)
result of
countUntil is not the same as that of indexOf.
countUntil is currently bugged, in the sense that it will
return the
index in the string (as opposed to the count of popFront's).
Thanks, I forget to officially fill this bug some time ago.
Pleased you are also finding Phobos bugs.
And I want to mention that `countUntil` is intentionally
spoiled. See the sources:
---
// Narrow strings are handled a bit differently
---
and Andrei will probably argue that current dangerous like hell
behaviour is correct and such cool feature must be undocumented
and developers will be pleased to discover it because of data
corruption. :)
But lets not blame Andrei because it was one of his insane big
commits:
https://github.com/D-Programming-Language/phobos/commit/3ea2debb8c4a6a707447c684e94f651924efaa96
and he probably was superheated and didn't understand what is
going on.
Yes, but that was when he wrote "indexOf", in which the index is
right.
IndexOf was latter simply renamed countUntil, but that changes
the semantics, and makes the implementation incorrect...