tinyvec
A veces, se necesita algo que se pueda cambiar de tamaño, como Vec
, pero sin asignación de heap. tinyvec
ofrece un vector respaldado por un array o slice, que se podría asignar estáticamente o en la stack, y que hace un seguimiento de cuántos elementos se usan, entrando en panic si intentas utilizar más elementos de los asignados.
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
requiere que el tipo de elemento implementeDefault
para la inicialización.- El playground de Rust incluye
tinyvec
, por lo que este ejemplo se ejecutará bien aunque esté insertado.