LinkedMap is an immutable-style ordered map for Rust. It combines keyed lookup
with stable insertion order, cursor navigation, and relative reordering
operations like insert_after, insert_before, swap, and reverse.
use linked_map::{linked_map, LinkedMap};
let linked = linked_map!(
1 => "one",
2 => "two",
3 => "three",
);
let moved = linked
.insert_after(&1, "between", 4)
.move_to(&4);
assert_eq!(moved.current_value(), Some(&"between"));
assert_eq!(moved.to_vec(), vec![(1, "one"), (4, "between"), (2, "two"), (3, "three")]);LinkedMap::new()LinkedMap::from_entries(...)push,prepend,shift,popinsert_after,insert_before,insert_many_afterswap,reverseget_between,delete_betweenmove_to,move_to_start,move_to_end,next,previter,values,reduce,reduce_right
Install cargo-llvm-cov, then run:
scripts/coverage.sh summary
scripts/coverage.sh htmlThe GitHub Actions workflow also runs build, test, and coverage jobs and uploads the LCOV report as a workflow artifact. The coverage job prints a markdown summary in the workflow output and job summary.
Implementation details and design tradeoffs are documented in ARCHITECTURE.md.