# smol_buf
[](https://github.com/Swatinem/smol_buf/actions?query=branch%3Amaster+workflow%3ACI)
[](https://crates.io/crates/smol_buf)
[](https://docs.rs/smol_buf/)
The `smol_buf` crate offers the following types, each offering inline stack-allocated storage,
and falling back to heap-allocation otherwise.
| `Str24` | `&str` | 24 | 24 | 23 | `O(1)` |
| `Str16` | `&str` | 16 | 16 | 15 | `O(1)` |
| `Buf24` | `&[u8]` | 24 | 24 | 23 | `O(1)` |
| `Buf16` | `&[u8]` | 16 | 16 | 15 | `O(1)` |
Unlike `String` and `Vec`, however, the types are immutable.
They are thus replacements for `Arc<str>` and `Arc<[u8]>` respectively.
## MSRV Policy
Minimal Supported Rust Version: latest stable.
Bumping MSRV is not considered a semver-breaking change.