-
Notifications
You must be signed in to change notification settings - Fork 163
Open
Description
These are changes that weren't ready in time for 1.0 (#73).
Forward port changes from the v1 branch:
- bincode2 support Implement bincode2 encode/decode support for smallvec v1 #375
Requires newer version of Rust than current minimum (1.36):
- Use const generics to change
SmallVec<[T; N]>toSmallVec<T, N>. Remove theArraytrait. (RFC: rewrite based on min_const_generics for 2.0 #240, Rust 1.51). - Use the
unionrepresentation by default and remove the optionalunionfeature added in Use a union to reduce the size of SmallVec [v2] #94 (Rust 1.49). - Make
SmallVec::newaconst fn(MakeSmallVec::newconst #263).
Depends on unstable Rust features:
- Support custom allocators (Support parametric allocators #55, Allocator traits and std::heap rust-lang/rust#32838).
- Use specialization to optimize
extend,insert_many, andfromfor slices ofCopytypes. Deprecate and removeextend_from_slice,insert_from_slice, andfrom_slice(Rework specialization #384, Tracking issue for specialization (RFC 1210) rust-lang/rust#31844). - Implement the
Errortrait without requiringstd(Implementstd::error::ErrorforCollectionAllocErr#355, Tracking Issue forErrorincorerust-lang/rust#103765).
Breaking API changes:
- Fix variance of
SmallVec<[T; N]>overT(SmallVec<[T; N]> is invariant over T #146)? - Remove the deprecated
ExtendFromSlicetrait. - Remove unused
&selfparameter frominline_sizemethod. - Deprecate the
writefeature and add astdfeature instead (Implementstd::error::ErrorforCollectionAllocErr#355, feat: replacewritefeature withstdfeature #356). - Remove the non-standard
insert_manymethod (Deprecate insert_many (and add splice?) #255)?
gliderkite, nsmaciej, bluebear94, mpfaff, carter-thaxton and 10 more00-matt, rben01, joseluis and Blatko1
Metadata
Metadata
Assignees
Labels
No labels