Collections that (seem) to break Rust safety.
SymbolTable
: a memory-efficient set ofString
, where its members can be equality compared in constant time.AppendOnlyVec
: a sequence where elements can be appended even when you hold reference to previous elements.LazyArray
: an array where elements can be initialized at a later time, even where reference to other, initialized elements exist.
All collections in this crate are implemented with unsafe code. While I cannot be 100% sure the interface they offer is safe, I use the following techniques to increase my confidence.
- Property based testing with quickcheck.
- Dynamic analysis with Miri.