On Mon, 11 Feb 2013 13:59:41 -0500, Dicebot <m.stras...@gmail.com> wrote:

Ye, looks like this is the root of problem, I tweaked at a bit and have come to the same conclusion :( Sad, I really hoped I simply have overlooked some common idiom.

This is a bug, joinImpl compiles with the given type, it's just join that doesn't.

Note that I performed this change to the template constraint on join:

if(isInputRange!RoR &&
(isInputRange!(ElementType!RoR) || isDynamicArray!(ElementType!RoR)) &&
       isForwardRange!R &&
is(Unqual!(ElementType!(ElementType!RoR)) == Unqual!(ElementType!R)))

Note the isInputRange || isDynamicArray part.

This check was already present on joinImpl.

With that change, then you can compile my original suggestion, or my later suggestion.

-Steve

Reply via email to