Version 1.5.0
Change log:
* Add the `append` method (#237).
* Add support for more array sizes between 17 and 31 (#234).
* Don't panic on deserialization errors (#238).
Change log:
* Add the `append` method (#237).
* Add support for more array sizes between 17 and 31 (#234).
* Don't panic on deserialization errors (#238).
Return allocation error in deserialize instead of panicking
There's no way to catch allocation errors since out of memory errors
cause an abort. Fail gracefully by returning the error instead of
panicking.
I happened upon this error when deserializing untrusted data with bincode. Bincode provides a byte limit bound but for sequences it's not possible to enforce this through serde since collection types like smallvec handle their own allocation.
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.
Version 1.4.2
Changelog:
* `insert_many` no longer leaks elements if the provided iterator panics (#213).
* The unstable `const_generics` and `specialization` features are updated to work with the most recent nightly Rust toolchain (#232).
* Internal code cleanup (#229, #231).
This PR also changes the `author` field in `Cargo.toml` to "The Servo Project Developers".
* `insert_many` no longer leaks elements if the provided iterator panics (#213).
* The unstable `const_generics` and `specialization` features are
updated to work with the most recent nightly Rust toolchain (#232).
* Internal code cleanup (#229, #231).
Move source files into src directory
This moves the `tests` module into a separate file, and moves all source files into a `src` directory, to conform with the default layout for Rust projects.
Update and document serde support
* Document the optional 'serde' feature. Fixes#224.
* Disable unused serde features. This makes serde support compatible with `no_std`.
Deprecate and hide ExtendFromSlice trait
This trait is only needed for internal benchmarking and should not have been public. It will be removed in version 2.0.