tinyvec

Às vezes, vocĂȘ deseja algo que possa ser redimensionado como um Vec, mas sem alocação de heap. tinyvec fornecer isso: um vetor com suporte a um array ou slice, que pode ser alocado estaticamente ou na pilha, que mantĂ©m o controle de quantos elementos sĂŁo usados e gera um panic se vocĂȘ tentar usar mais do que estĂĄ alocado.

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 requer que o tipo de elemento implemente Default para inicialização.
  • O Rust Playground inclui tinyvec, portanto, este exemplo serĂĄ executado corretamente inline.