Staticvec Versions Save

Implements a fixed-capacity stack-allocated Vec alternative backed by an array, using const generics.

0.10.8

3 years ago

This release makes assorted internal improvements, adds a new constant generic split_at method, and most recently makes a few feature flag adjustments necessary for the crate to compile on the last few days or so of nightlies.

0.10.7

3 years ago

This release is primarily about building on 0.10.6 by making a pretty solid handful more methods and trait impls const. A notable new addition is however the remove_matches function for StaticString, which directly mirrors the functionality of the identically-named method that was recently added for regular String.

0.10.6

3 years ago

Most importantly this release brings back the following functions, which had to be commented out in June 2020 (while this crate was at version 0.9.3) due to a compiler codebase change, leading to the release of 0.10 so as to provide a not-broken version for users who wanted to stay up to date with current nightlies:

  • concat
  • concat_clone
  • intersperse
  • intersperse_clone
  • symmetric_difference
  • union

All of them "just work" again as they originally did, for whatever reason that may be as far as recent improvements in rustc's handling of const generics. So to be very clear: what this means overall is that from this release forwards, anyone who was actually sticking with 0.9.X (if they exist, which I'm not sure they do) no longer has a reason to do so, and can update their dependency to 0.10.X without any breakage.

Beyond that, this release brings a handful of minor internal improvements and tweaks (including doc comment improvements in a few places) over 0.10.5, and also leverages the (somewhat new I think) const_ptr_read and const_ptr_write feature flags to make a decent number more of StaticVec's methods available in const fn form. See the first part of main_demo.rs in the demo folder for more details as well as a practical example as far as that.

0.10.5

3 years ago

This release mostly is being done just to get the docs.rs copy of the crate's docs regenerated with the fixes for rustdoc I did in this PR, but does also include a number of minor internal tweaks / refactoring as well as an updated readme to better reflect the current state of things. No new additions to the public API or anything like that though.

0.10.4

3 years ago
  • Adds StaticVec::insert_from_slice, StaticVec::try_insert_from_slice, StaticVec::splice, and a StaticVecSplice iterator
  • Improves the informativeness of various assertion failure messages
  • Does various documentation refactoring
  • Accounts for the very recent name change of MaybeUninit::read to MaybeUninit::assume_init_read, which amounts to a build-breaking error for pre-0.10.4 versions of the crate if using the very latest nightly release of rust

0.10.3

3 years ago

Just a minor patch-fix release to account for MaybeUninit.get_mut() now being called MaybeUninit.assume_init_mut() in the latest nightly.

0.10.2

3 years ago

This is just another simple "get the crate building normally again" patch release to account for the complete removal of a feature flag from the compiler, that makes zero changes to the user-facing API (or much of anything at all, really).

0.10.1

3 years ago

This is just a patch release that fixes compilation of staticvec by accounting for the fact that the const_compare_raw_pointers feature flag was removed entirely from nightly a few days ago. All necessary code changes thankfully amounted to "internal" ones, so this release does not alter anything whatsoever about the user-facing API of the crate.

0.10.0

4 years ago

This release would not exist if it did not literally have to. See the readme file for more details.

0.9.3

4 years ago
  • This is a fairly minor patch release that just makes some slight tweaks to the examples and tests for concat and concat_clone, which had been somewhat broken (at least as far as their original implementation that used assert_eq specifically) by a recent change to the compiler