How papill9/mitsein works
Mitsein is a Rust library for non-empty collection and view APIs. The principal workflow is a consumer using the crate’s public facade to construct a non-empty value, then use its type-specific operations and non-empty iterators or subset views while retaining the cardinality guarantee. The graph preserves the documented collection families and optional serialization support. Connections between modules are limited to references visible in the source index or excerpts; unsampled implementation details are not inferred.
Main entry points: lib.rs Crate Facade · slice1.rs Nonempty Slices · iter1.rs Nonempty Iterators · vec1.rs Nonempty Vectors
Components 25
Public API
- Crate Facade
src/lib.rs
Collection Types
- Nonempty Arrays
src/array1.rs - Nonempty Vectors
src/vec1.rs - Nonempty Deques
src/vec_deque1.rs - BTree Maps
src/btree_map1.rs - BTree Sets
src/btree_set1.rs - Hash Sets
src/hash_set1.rs - Index Maps
src/index_map1.rs - Index Sets
src/index_set1.rs - ArrayVec Types
src/array_vec1.rs - Heapless Vectors
src/heapless/vec1.rs - Small Vectors
src/small_vec1.rs - Boxed Types
src/boxed1.rs - Nonempty Strings
src/string1.rs
Views And Iteration
- Nonempty Slices
src/slice1.rs - String Views
src/str1.rs - Borrowed And Cow
src/borrow1.rs - Nonempty Ranges
src/range1.rs - Nonempty Iterators
src/iter1.rs - Subset Views
src/subset
Safety And Integrations
- Comparison Helpers
src/cmp.rs - Hash Helpers
src/hash.rs - Invariant Checks
src/safety/mod.rs - Serde Support
src/serde.rs
Other components
- Library Consumer
Connections 34
- Library Consumer → Crate Facade: uses
README.md - Crate Facade → Nonempty Arrays: exports
src/lib.rs - Crate Facade → Nonempty Vectors: exports
src/lib.rs - Crate Facade → Nonempty Deques: exports
src/lib.rs - Crate Facade → BTree Maps: exports
src/lib.rs - Crate Facade → BTree Sets: exports
src/lib.rs - Crate Facade → Hash Sets: exports
src/lib.rs - Crate Facade → Index Maps: exports
src/lib.rs - Crate Facade → Index Sets: exports
src/lib.rs - Crate Facade → ArrayVec Types: exports
src/lib.rs - Crate Facade → Heapless Vectors: exports
src/lib.rs - Crate Facade → Small Vectors: exports
src/lib.rs - Crate Facade → Boxed Types: exports
src/lib.rs - Crate Facade → Nonempty Strings: exports
src/lib.rs - Crate Facade → Nonempty Slices: exports
src/lib.rs - Crate Facade → String Views: exports
src/lib.rs - Crate Facade → Borrowed And Cow: exports
src/lib.rs - Crate Facade → Nonempty Ranges: exports
src/lib.rs - Crate Facade → Nonempty Iterators: exports
src/lib.rs - Crate Facade → Subset Views: exports
src/lib.rs - Crate Facade → Invariant Checks: exports
src/lib.rs - Crate Facade → Serde Support: exports
src/lib.rs - Nonempty Arrays → Nonempty Slices: views as
src/array1.rs - Nonempty Slices → Nonempty Iterators: provides iterators
src/slice1.rs - Nonempty Vectors → Nonempty Slices: exposes views
src/vec1.rs - Nonempty Vectors → Subset Views: supports subsets
src/vec1.rs - Nonempty Vectors → Nonempty Iterators: uses conversions
src/vec1.rs - String Views → Nonempty Iterators: provides iterators
src/str1.rs - Nonempty Strings → String Views: exposes views
src/string1.rs - Nonempty Strings → Nonempty Iterators: uses conversions
src/string1.rs - BTree Sets → Subset Views: supports subsets
src/btree_set1.rs - Hash Sets → Subset Views: supports subsets
src/hash_set1.rs - Invariant Checks → Nonempty Slices: checks invariants
src/safety/mod.rs - Serde Support → BTree Maps: implements serialization
src/serde.rs