``` auto s = SList!int(1, 2, 3, 4, 5); auto s2 = SList!int(1, 2, 3, 4, 5); auto r = s2[]; popFrontN(r, 1); auto r1 = s.linearRemove(r); // throws exception ``` Is it a bug or intended by design?
It's intended. What would it even mean for it a container to remove elements which are from another container? The values of the elements are irrelevant. You're asking it to remove those specific elements, so they have to be from the container that you're asking to remove them.
It's a documentation bug in my opinion, for example insertAfter specifies that the range r must be a previously extracted range.
(In reply to safety0ff.bugz from comment #2) > It's a documentation bug in my opinion, for example insertAfter specifies > that the range r must be a previously extracted range. What it should be?