3 unstable releases
Uses new Rust 2024
| 0.2.1 | Feb 6, 2026 |
|---|---|
| 0.2.0 | Feb 6, 2026 |
| 0.1.0 | Feb 6, 2026 |
#1815 in Rust patterns
24KB
442 lines
lessvec
A minimal, educational Vec-like collection implemented with only the Rust standard library.
Quick example
use lessvec::LessVec;
let mut v = LessVec::new();
v.push(1);
v.push(2);
assert_eq!(v.as_slice(), &[1, 2]);
Prelude & macro
lessvec exposes a small prelude with the LessVec type and the lessvec! macro:
use lessvec::prelude::*;
// macro to construct a LessVec (same syntax as std `vec!`)
let v = lessvec![1, 2, 3];
assert_eq!(v.as_slice(), &[1, 2, 3]);
// repeating element form (requires Clone)
let r = lessvec![5; 4];
assert_eq!(r.as_slice(), &[5, 5, 5, 5]);
You can also import the macro directly if you prefer:
use lessvec::lessvec;
let v = lessvec![1, 2, 3];
Running the included example
The repository includes an example at examples/basics.rs. Run it with:
cargo run --example basics
You can run the test suite with:
cargo test