Skip to content

Releases: servo/rust-smallvec

v1.2.0

29 Jan 16:47
08b8249
Compare
Choose a tag to compare
  • IntoIter now implements Debug (#196).
  • smallvec! macro is now easier to use in no_std contexts where the vec! macro isn't automatically imported (#198).

v1.1.0

20 Dec 22:19
34d7b8d
Compare
Choose a tag to compare
  • Added new method SmallVec::into_boxed_slice (#190).
  • Added new methods IntoIter::as_slice and as_mut_slice (#182).
  • IntoIter now implements Clone (#192).
  • Improved documentation and testing (#186, #189, #193).
  • Minor code cleanups (#176).

v0.6.13

05 Nov 16:45
7852204
Compare
Choose a tag to compare
  • Use the maybe-unit crate in place of soon-to-be-deprecated std::mem::uninitialized (#180). When built with Rust 1.36 or later, this fixes a source of undefined behavior. It also fixes deprecation warnings in Rust 1.39 and later, and test failures when run in MIRI. In Rust 1.35 and earlier it provides some safety improvements but does not completely eliminate undefined behavior. (However, we are not aware of any cases where the undefined behavior causes bugs in practice in those toolchains.)

v1.0.0

04 Nov 16:37
34c2628
Compare
Choose a tag to compare
  • Requires Rust 1.36 or later.
  • [breaking change] Use MaybeUninit to avoid possible undefined behavior (#162, #170).
  • [breaking change] The drain method now takes a range argument, just like the standard Vec::drain (#145).
  • [breaking change] Remove the unreachable function and replace it with the new standard unreachable_unchecked function (#164).
  • [breaking change] Use no_std by default. This crate depends only on core and alloc by default. If the optional write feature is enabled then it depends on std so that SmallVec<[u8;_]> can implement the std::io::Write trait (#173).
  • [breaking change] Remove the deprecated VecLike trait (#165).
  • Add support for 96-element small vectors, SmallVec<[T; 96]> (#163).
  • Iterators now implement FusedIterator (#172).
  • Indexing now uses the standard SliceIndex trait (#166).
  • Add automatic fuzz testing and MIRI testing (#168, #162).
  • Update syntax and formatting to Rust 2018 standard (#174, #167).

v0.6.12

30 Oct 21:05
Compare
Choose a tag to compare
  • Move code using default fn into its own module (#161).

v0.6.11

28 Oct 22:51
Compare
Choose a tag to compare
  • The unstable alloc feature is no longer needed. This crate can now build with the std feature disabled on stable Rust 1.36 or later (#159).

v0.6.10

28 Oct 22:49
830d32b
Compare
Choose a tag to compare
  • Fix a bug in extend with certain iterators (#150).
  • Fix soundness bugs in the grow method (#151, #152).
  • Fix typo in docs (#144).

v0.6.9

19 Feb 18:03
dfd78d1
Compare
Choose a tag to compare
  • Remove dependency on unreachable crate (#140)

v0.6.8

19 Jan 20:06
a775b5f
Compare
Choose a tag to compare
  • Don't leak memory if an iterator panics during extend (#137)
  • Update the unstable union feature for better forward compatibility (#135)

v0.6.7

29 Nov 21:53
e244d0a
Compare
Choose a tag to compare
  • Add an optional feature to use the unstable may_dangle attribute (#133).