Array provides linear removal, but the `stableLinearRemove` alias for the non-boolean specialization points to std.algorithm.remove, not its own `linearRemove` member as it should.
However, it turns out that while Array tries to make removal stable, a bug prevents it from actually being stable at the moment:
---
import std.container : Array;
import std.stdio : writeln;
void main()
{
auto arr = Array!int(1, 2);
auto r = arr[];
arr.linearRemove(arr[0 .. 1]);
writeln(r); // Range violation
}
---
Comment #1 by robert.schadek — 2024-12-01T16:21:57Z