Releases: bodil/sized-chunks
Releases · bodil/sized-chunks
0.7.0
0.6.5
0.6.4
FIXED
InlineArraycan be used in recursive types again.
CHANGED
InlineArray::new()now panics when it can't store elements with large alignment (this was UB prior to 0.6.3). Alignments ofusizeand smaller are always supported. Larger alignments are supported if the capacity-providing type has sufficient alignment.
0.6.3
FIXED
- Multiple soundness fixes:
InlineArrayhandles large alignment, panic safety inChunk'scloneandfrom_iter, capacity checks inunit(),pair()andfrom(). InlineArraycan now handle zero sized values. This relies on conditionals in const functions, a feature which was introduced in Rust 1.46.0, which means this is now the minimum Rust version this crate will work on.
0.6.2
0.6.1
0.6.0
CHANGED
RingBufferand its accompanying slice typesSliceandSliceMutnow implementArrayandArrayMutfromarray-ops, giving them most of the methods that would be available on primitive slice types and cutting down on code duplication in the implementation, but at the price of having to pullArrayet al into scope when you need them. Because this means adding a dependency toarray-ops,RingBufferhas now been moved behind theringbufferfeature flag.ChunkandInlineArraydon't and won't implementArray, because they are both able to implementDeref<[A]>, which provides the same functionality more efficiently.
ADDED
- The
insert_fromandinsert_orderedmethods recently added toChunkhave now also been added toRingBuffer. RingBuffer'sSliceandSliceMutnow also have the threebinary_searchmethods regular slices have.SparseChunk,RingBuffer,SliceandSliceMutnow have unsafeget_uncheckedandget_unchecked_mutmethods.PartialEqimplementations allowing you to compareRingBuffers,Slices andSliceMuts interchangeably have been added.
FIXED
- Fixed an aliasing issue in
RingBuffer's mutable iterator, as uncovered by Miri. Behind the scenes, the full non-fuzzing unit test suite is now able to run on Miri without crashing it (after migrating the last Proptest tests away from the test suite into the fuzz targets), and this has been included in its CI build. (#6)
0.5.3
0.5.2
ADDED
Chunknow has aninsert_frommethod for inserting multiple values at an index in one go.Chunknow also has aninsert_orderedmethod for inserting values into a sorted chunk.SparseChunknow has the methodsoption_iter(),option_iter_mut()andoption_drain()with their corresponding iterators to iterate over a chunk as if it were an array ofOptions.Arbitraryimplementations for all data types have been added behind thearbitraryfeature flag.