On Tuesday, 14 February 2017 at 19:08:53 UTC, bachmeier wrote:

I am not familiar with all of the past discussion of this issue, but something that I have wondered is why we can't do something like

alias fooConstraint = (s != SwapStrategy.stable
  && isBidirectionalRange!Range
  && hasLvalueElements!Range
  && hasLength!Range
  && Offset.length >= 1);

Range remove
  (SwapStrategy s = SwapStrategy.stable, Range, Offset...)
  (Range range, Offset offset) if fooConstraint;

I mean, is there some reason that this shouldn't be allowed? Any feature can be abused, but it looks useful in many cases.

Reply via email to