On Monday, 2 November 2015 at 14:16:53 UTC, Nordlöw wrote:
Is there a reason whyisOutputRange(R,E) takes a second argument `E` but not other range predicates isInputRange(R) isForwardRange(R) ... ?If so, I still think it would very be nice to have a second argument `E` for all the other `isXRange` traits to simplify, for instance,if (isInputRange!R && is(int == ElementType!R)) to simpler if (isInputRange!(R, int)) or even if (isInputRange!R && is(isSomeChar!(ElementType!R))) to simpler if (isInputRange!(R, isSomeChar)) ? What do think?I'm planning to add a PR for this and simplify Phobos in all places where this pattern is used.
I think it's because output ranges can accept more than one type of value. That said, the `isInputRange!(R,E)` shortcut for `isInputRange!R && is(int == ElementType!R)` would be nice.
