On Saturday, 21 December 2013 at 08:08:42 UTC, Dmitry Olshansky wrote:
That has the disadvantage of importing the whole std.range.
I seriously doubt that we'd get anything better then:

> import std.range.traits;
>
> void foo(R)(R range) if (isForwardRange!R)
> {
       import std.range;
...
> }

Stays practical w.r.t. cutting down dependencies and no need to uglify constraints. They are not that readable already.

I think it was mostly agreed here that we should do both for best result.

Reply via email to