Version 0.4.0
Added
- Add unsafe functions for turning entry references into pointers.
- Add
ContiguousMemoryStorage::forget
.
- Add
- Add
source
toLockingError::WouldBlock
- Add
ContiguousMemoryStorage::forget
utility method. - Add
ContiguousMemoryStorage::can_push
variants:can_push_value
can_push_layout
- Add persisted variants for
push
methods which ensures values aren't overwritten when using default and concurrent implementations.
Changed
- Rename
ContiguousMemoryStorage::store
topush
so it's more in line with std containers.- Update examples
- Rename
ContiguousMemoryRef
toContiguousEntryRef
so naming is more in line with the purpose of the struct. - Clean up
ByteRange::aligned
implementation - Fix how
AllocationTracker
provides availableByteRange
s so they're properly aligned. - Fix bugs on resizing
- Edge case where initial capacity is 0 would cause an infinite loop, now automatic resizing is smarter about how it chooses the new size.
- Clean up return types of most methods.
- Remove argument from
ContiguousMemoryStorage::can_push
to be closer toLayout
constructor. - Rename
ContiguousMemoryStorage::new_from_layout
toContiguousMemoryStorage::new_for_layout
.
Removed
- Remove
StoreData
trait as it wasn't supposed to be used. - Remove
ContiguousMemoryStorage
trait as it only complicated implementation. - Remove deprecated re-exports.
- Remove
std
feature.- See #fd4767d commit message for reasoning.
- Remove
prelude
module, usecontiguous_mem::*
as a drop in replacement.
Management
- Add semver checking workflow
- Add clippy workflow
- Simplify CI workflow
- Add resizing test to ensure correctness is maintained across versions
- Improve documentation