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.