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