tinyvec
Іноді вам потрібне щось, розмір якого можна змінити, наприклад Vec, але без виділення купи. tinyvec надає це: вектор, підкріплений масивом або зрізом, який може бути статично розміщений або в стеку, який відстежує, скільки елементів використовується та впадає в паніку, якщо ви намагаєтеся використати більше, ніж виділено.
use tinyvec::{array_vec, ArrayVec};
fn main() {
let mut numbers: ArrayVec<[u32; 5]> = array_vec!(42, 66);
println!("{numbers:?}");
numbers.push(7);
println!("{numbers:?}");
numbers.remove(1);
println!("{numbers:?}");
}
tinyvecвимагає, щоб тип елемента реалізувавDefaultдля ініціалізації.- Rust Playground містить
tinyvec, тож цей приклад добре працюватиме вбудовано.