matrix-authentication-service/.gear/predownloaded-development/vendor/memo-map
2026-03-07 01:41:31 +03:00
..
.github added rust vendor 2026-03-07 01:41:31 +03:00
src added rust vendor 2026-03-07 01:41:31 +03:00
.cargo-checksum.json added rust vendor 2026-03-07 01:41:31 +03:00
.cargo_vcs_info.json added rust vendor 2026-03-07 01:41:31 +03:00
Cargo.toml added rust vendor 2026-03-07 01:41:31 +03:00
Cargo.toml.orig added rust vendor 2026-03-07 01:41:31 +03:00
CHANGELOG.md added rust vendor 2026-03-07 01:41:31 +03:00
LICENSE added rust vendor 2026-03-07 01:41:31 +03:00
Makefile added rust vendor 2026-03-07 01:41:31 +03:00
README.md added rust vendor 2026-03-07 01:41:31 +03:00

memo-map

Build Status Crates.io License rustc 1.41.0 Documentation

A concurrent insert only hash map.

This crate implements a “memo map” which is in many ways similar to a HashMap with some crucial differences:

  • Unlike a regular hash map, a memo map is thread safe and synchronized.
  • Adding or retrieving keys works through a shared reference, removing only through a mutable reference.
  • Retrieving a value from a memo map returns a plain old reference.
use memo_map::MemoMap;

let memo = MemoMap::new();
let one = memo.get_or_insert(&1, || "one".to_string());
let one2 = memo.get_or_insert(&1, || "not one".to_string());
assert_eq!(one, "one");
assert_eq!(one2, "one");