8 breaking releases
| 0.9.0 | Jun 5, 2025 |
|---|---|
| 0.8.0 | Dec 2, 2024 |
| 0.7.1 | Aug 1, 2022 |
| 0.7.0 | Jul 26, 2022 |
| 0.3.0 | Jun 9, 2021 |
#117 in Data structures
152,832 downloads per month
Used in 112 crates
(9 directly)
30KB
514 lines
bounded-vec
BoundedVec<T, L, U> - Non-empty rust std::vec::Vec wrapper with type guarantees on lower(L) and upper(U) bounds for items quantity. Inspired by vec1.
This crate is #![no_std] compatible with alloc.
Example
use bounded_vec::BoundedVec;
let data: BoundedVec<u8, 2, 4> = [1u8,2].into();
assert_eq!(*data.first(), 1);
assert_eq!(*data.last(), 2);
// creates a new BoundedVec by mapping each element
let data = data.mapped(|x|x*2);
assert_eq!(data, [2u8,4].into());
Crate features
- optional(non-default) serde feature that adds serialization to
BoundedVec. - optional(non-default)
schemafeature that adds JSON schema support via schemars (requiresserde). - optional(non-default)
arbitraryfeature that addsproptest::Arbitraryimplementation toBoundedVec.
Changelog
See CHANGELOG.md.
Contributing
See Contributing guide.
Dependencies
~0.2–1.3MB
~26K SLoC