On Friday, 16 November 2012 at 21:17:00 UTC, Jonathan M Davis
wrote:
On Friday, November 16, 2012 14:18:02 monarch_dodra wrote:
Can I get some Yays or Nays?
Absolutely not.
std.algorithm.indexOf was _always_ supposed to return code
points for strings.
It's an outright bug if it ever did otherwise. It was renamed
to countUntil so
that people would not mistakingly use it on strings and think
that they were
getting an index. That's what std.string.indexOf does. Any code
that relies on
std.algorithm.indexOf or std.algorithm.countUntil returning the
index of for
strings rather than the number of code points is wrong and
needs to be fixed.
Undeprecating std.algorithm.indexOf would just perpetuate the
problem, and it
makes _no_ sense for anything in std.algorithm to operate on
string indexes
anyway. std.algorithm treats all strings as ranges of dchar,
and having
anything in there operating on string indexes would violate
that.
If the deprecation message needs improvement, then feel free to
improve it,
but anything which was calling std.algorithm.indexOf to get the
index of a
string was wrong to begin with.
- Jonathan M Davis
OK. Your explanation/rationale makes sense. TY for your reply.
I'll try to improve the documentation.