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.

Reply via email to