New names - 2.068 roundup
Jonathan M Davis via Digitalmars-d
digitalmars-d at puremagic.com
Wed Jun 24 04:28:46 PDT 2015
On Wednesday, 24 June 2015 at 11:12:27 UTC, John Chapman wrote:
> On Wednesday, 24 June 2015 at 01:04:01 UTC, Adam D. Ruppe wrote:
>> The code breakage is minimal
>
> Won't this break isSomeString? Phobos uses this everywhere.
It won't break isSomeString. isSomeString will continue to work
the same. What it will mean is that the result of toLower won't
pass isSomeString anymore, and if you pass it to a range-based
function which has an overload for strings, it won't match it and
will be treated the same as a range like FilterResult and not get
the string optimizations. If you want it to actually be a string,
then you'll need to use to!string on it (even std.array.array
wouldn't work, since that would convert it to dchar[], not
string).
So, that could be a reason why this isn't a great idea, but it
once again highlights why having autodecoding is a bad idea, and
it shows that as we increase how much we're doing with functions
which return lazy ranges, the cost of having autodecoding will
only increase, because we'll being dealing with strings directly
less and less.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list