std library has a
LinkedList data-structure implementing a doubly-linked list.
Is anybody using this for anything?
AFAICT, it does not support O(1) splice, O(1) node erasure, O(1) node insertion, … It appears to only support O(1) append/erase on the lists ends, which kind of makes it a collection with all the disadvantages of a doubly-linked list, but none of its advantages.
The current API actually does confuse beginners about what is possible in Rust (e.g.
split_off being O(N) but not having any O(1) split method). Is anybody interested into bumping its API up to make it useful?
There appear to be better implementations on crates.io that provide all/most of the missing algorithms on doubly-linked lists (e.g http://contain-rs.github.io/linked-list/linked_list/) So maybe maybe we should consider deprecating this for Rust2018, and point those who want to use a doubly-linked list to crates.io . In its current state, its probably not something that should be used anyways. I don’t know if there is a policy about un-deprecating something, but if somebody in the future is interested on picking up the torch and making
LinkedList useful, I guess we could un-deprecated it.