Import smallvec-1.4.0 am: ddfee16c0a

Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/smallvec/+/1374113

Change-Id: I0988318551eb5fdfe50dba61d0845f25c0b01067
tree: ef7ed8a3171cf1906670f6b9fcbf20ef2660852a
  1. benches/
  2. scripts/
  3. .cargo_vcs_info.json
  4. .gitignore
  5. .travis.yml
  6. Cargo.toml
  7. Cargo.toml.orig
  8. lib.rs
  9. LICENSE-APACHE
  10. LICENSE-MIT
  11. README.md
  12. specialization.rs
README.md

rust-smallvec

Documentation

Release notes

“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();