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
, тож цей приклад добре працюватиме вбудовано.