| [](https://opensource.org/licenses/Zlib) | |
|  | |
| [](https://crates.io/crates/tinyvec) | |
| [](https://docs.rs/tinyvec/) | |
|  | |
| # tinyvec | |
| A 100% safe crate of vec-like types. `#![forbid(unsafe_code)]` | |
| Main types are as follows: | |
| * `ArrayVec` is an array-backed vec-like data structure. It panics on overflow. | |
| * `SliceVec` is the same deal, but using a `&mut [T]`. | |
| * `TinyVec` (`alloc` feature) is an enum that's either an `Inline(ArrayVec)` or a `Heap(Vec)`. If a `TinyVec` is `Inline` and would overflow it automatically transitions to `Heap` and continues whatever it was doing. | |
| To attain this "100% safe code" status there is one compromise: the element type of the vecs must implement `Default`. | |
| For more details, please see [the docs.rs documentation](https://docs.rs/tinyvec/) |