diff --git a/std/algorithm.d b/std/algorithm.d index f90acf1d2..fd0a57e15 100644 --- a/std/algorithm.d +++ b/std/algorithm.d @@ -1898,7 +1898,7 @@ void swapFront(R1, R2)(R1 r1, R2 r2) // splitter /** Splits a range using an element as a separator. This can be used with -any range type, but is most popular with string types. +any sliceable range type, but is most popular with string types. Two adjacent separators are considered to surround an empty element in the split range. @@ -2138,10 +2138,11 @@ unittest /** Splits a range using another range as a separator. This can be used -with any range type, but is most popular with string types. +with any sliceable range type, but is most popular with string types. */ auto splitter(Range, Separator)(Range r, Separator s) -if (is(typeof(Range.init.front == Separator.init.front) : bool)) +if (is(typeof(Range.init.front == Separator.init.front) : bool) + && (hasSlicing!Range || isNarrowString!Range)) { static struct Result {