Bug: 175140903

Clone this repo:
  1. 2ab40d9 Update TEST_MAPPING by Jeff Vander Stoep · 3 days ago master
  2. fadb243 Update TEST_MAPPING by David Brazdil · 10 days ago
  3. f05dce2 Merge "Upgrade intrusive-collections to 0.9.4" by Treehugger Robot · 7 weeks ago main-16k-with-phones
  4. 289c356 Upgrade intrusive-collections to 0.9.4 by Jeff Vander Stoep · 7 weeks ago
  5. 3bef0c1 Merge "Update TEST_MAPPING" am: d2ee1efff2 am: 4583913fc1 am: 4bab3ff793 am: 143605018e by Treehugger Robot · 8 months ago


Build Status Coverage Status Crates.io

A Rust library for creating intrusive collections. Currently supports singly-linked and doubly-linked lists, as well as red-black trees.


  • Compatible with #[no_std].
  • Intrusive collections don't require any dynamic memory allocation since they simply keep track of existing objects rather than allocating new ones.
  • You can safely manipulate intrusive collections without any unsafe code.
  • A single object can be a member of multiple intrusive collections simultaneously.
  • Intrusive collections provide a Cursor-based interface, which allows safe mutation while iterating.

For examples and more information, see the documentation (crates.io, master).


Add this to your Cargo.toml:

intrusive-collections = "0.9"

This crate has two Cargo features:

  • nightly: Enables nightly-only features: const fn constructors for collections (Link constructors are always const fn)
  • alloc (enabled by default): Implements IntrusivePointer for Box, Rc and Arc.


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.