Why does phobos have collisions?

drug via Digitalmars-d digitalmars-d at puremagic.com
Wed Jun 7 08:00:31 PDT 2017


07.06.2017 17:57, Ivan Kazmenko пишет:
> On Wednesday, 7 June 2017 at 10:01:30 UTC, Mike B Johnson wrote:
>> Error: template std.algorithm.mutation.strip cannot deduce function 
>> from argument types !()(string), candidates are:
>> src\phobos\std\algorithm\mutation.d(2280): 
>> std.algorithm.mutation.strip(Range, E)(Range range, E element) if 
>> (isBidirectionalRange!Range && is(typeof(range.front == element) : bool))
>> \src\phobos\std\algorithm\mutation.d(2287): 
>> std.algorithm.mutation.strip(alias pred, Range)(Range range) if 
>> (isBidirectionalRange!Range && is(typeof(pred(range.back)) : bool))
>>
>> This is on a line of code that simply strips away a string...
>>
>> and works fine when using standard strip(without importing 
>> std.algorithm)... but when importing std.algorithm too, those errors 
>> pop up... seems like a defect.
> 
> Actually, it looks like the std.algorithm[.mutation] is imported but 
> std.string isn't.
> As std.algorithm's strip is more generic, it cannot assume what's the 
> "whitespace" to be stripped, so it's not callable without explicitly 
> specifying what to strip.
> 
> I've experienced this too, and it's really a bit confusing the first 
> time it happens.
> 
> Ivan Kazmenko.
> 
Selective imports are good in this case.


More information about the Digitalmars-d mailing list