detain
Fast, simple string interner.
Usage
use Interner;
let mut interner = new;
let hello = interner.intern;
let world = interner.intern;
let hello2 = interner.intern;
assert_eq!;
assert_eq!;
Features
- Compact:
Symbolis 4 bytes - Fast: FxHash + optimized for 110 common IPC-2581 identifiers
- Simple: Single growing arena, immutable, ~120 LOC
Customizing
Edit COMMON in src/lib.rs to add your frequently-used strings:
static COMMON: Map = phf_map! ;
Testing
# Unit tests
# Property-based tests (100 cases per test by default)
# Fuzz testing
# Miri (detects undefined behavior, proptests auto-skipped)
License
0BSD