On Sat, Apr 25, 2015 at 02:27:45AM +0000, Jonathan M Davis via Digitalmars-d wrote: [...] > I suppose that a related alternative would be to change it so that > strings aren't considered ranges anymore (at least temporarily), and > force folks to use stuff like byChar or byDChar (or whatever those > functions are) whenever they use strings as ranges. And actually, that > _would_ allow us to get rid of the autodecoding without rearranging > modules. Later, we could change them to being ranges of their actual > element types, or we could just force folks to be explicit forever in > an effort to make the Unicode issues clear, if we thought that that > were better (though it would probably better to just change front and > friends later to work with strings again but not autodecode). And if > an algorithm would work with either autodecoding or without it, then > maybe it could be special cased to accept strings as ranges, only > forcing it in the cases where it the behavior of the algorithm would > change based on whether autodecoding were used or not. > > Hmmm. I'm not sure what all of the repercussions of such an approach > would be, but the more I think about it, the more tempting it seems to > me. [...]
I would vote for this approach, if we ever decide to get rid of autodecoding. I'm OK with either option -- get rid of autodecoding, or keep it and use it consistently. What I am *not* OK with is the present, and growing, schizophrenic mixture of autodecoding and non-autodecoding string functions in Phobos. This inconsistency is going to come back to bite us later. T -- One reason that few people are aware there are programs running the internet is that they never crash in any significant way: the free software underlying the internet is reliable to the point of invisibility. -- Glyn Moody, from the article "Giving it all away"
