servo / rust-smallvec

"Small vector" optimization for Rust: store up to a small number of items on the stack

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[meta] Wishlist for smallvec 2.0

mbrubeck opened this issue · comments

These are changes that weren't ready in time for 1.0 (#73).

Requires newer version of Rust than current minimum (1.36):

  • Use const generics to change SmallVec<[T; N]> to SmallVec<T, N>. Remove the Array trait. (#240, Rust 1.51).
  • Use the union representation by default and remove the optional union feature added in #94 (Rust 1.49).
  • Make SmallVec::new a const fn (#263).

Depends on unstable Rust features:

Breaking API changes:

  • Fix variance of SmallVec<[T; N]> over T (#146)?
  • Remove the deprecated ExtendFromSlice trait.
  • Remove unused &self parameter from inline_size method.
  • Remove the non-standard insert_many method (#255)?
  • Deprecate the write feature and add a std feature instead (#355).