On Wednesday, 16 December 2015 at 21:40:44 UTC, anonymous wrote:
The `.save` primitive of forward ranges must return the very
same type that the range has. But your
ReferenceBidirectionalRange!T.save returns a
ReferenceForwardRange!T, because it's inherited. That makes
isForwardRange!(ReferenceBidirectionalRange!T) fail, and
everything that depends on it.
You can override `save` in ReferenceBidirectionalRange or try
something clever like using a template this parameter:
@property auto save(this This)() {return new This( _payload);}
Thanks! That did the trick.