mirror of
https://github.com/openharmony/third_party_rust_rust-smallvec.git
synced 2026-07-16 02:42:52 -04:00
3a085b52e8739ff58924db32c0b6bfa96b57130b
Implement Array for all sizes <= 32 Most traits supported by arrays are fully supported for arrays in the Rust stdlib as for all sizes <= 32. I was surprised to find that `SmallVec<[T; 18]>` (I happen to know that 18 the maximum outside of obscure cases) isn't possible because smallvec::Array is not consistent with this pattern. Of course, I don't actually need this — I can just choose another size, but it seems like it would be good/unsurprising to be a superset of libstd's choices here.
rust-smallvec
"Small vector" optimization for Rust: store up to a small number of items on the stack
Example
use smallvec::{SmallVec, smallvec};
// This SmallVec can hold up to 4 items on the stack:
let mut v: SmallVec<[i32; 4]> = smallvec![1, 2, 3, 4];
// It will automatically move its contents to the heap if
// contains more than four items:
v.push(5);
// SmallVec points to a slice, so you can use normal slice
// indexing and other methods to access its contents:
v[0] = v[1] + v[2];
v.sort();
Description
Languages
Rust
98.8%
Shell
1.2%