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:?}"); }
tinyvecrequer que o tipo de elemento implementeDefaultpara inicialização.- O Rust Playground inclui
tinyvec, portanto, este exemplo será executado corretamente inline.