joiner() should only require an input range

The template constraint for std.algorithm.joiner(r, sep) required a
forward range, when an input range would suffice.  The one-argument
version of joiner() did not have this problem.
This commit is contained in:
Lars T. Kyllingstad 2011-05-16 15:49:22 +02:00
parent 3b628aeb50
commit ae3cea46fd

View file

@ -2159,7 +2159,7 @@ assert(equal(joiner(["Mary", "has", "a", "little", "lamb"], "..."),
----
*/
auto joiner(RoR, Separator)(RoR r, Separator sep)
if (isForwardRange!RoR && isInputRange!(ElementType!RoR)
if (isInputRange!RoR && isInputRange!(ElementType!RoR)
&& isForwardRange!Separator
&& is(ElementType!Separator : ElementType!(ElementType!RoR)))
{