Skip to content

0.3.1

Compare
Choose a tag to compare
@Caellian Caellian released this 31 Aug 15:12
4362153

Additions

  • Added reference downcasting through ContiguousMemoryReference::downcast_ref method.
  • Added ContiguousMemoryStorage::copy_storage utility method for unsafe implementation.
  • Moved ContiguousMemoryStorage::store_data implementation to a sealed impl trait.
    • Deprecated StoreData trait.

Changes

  • Renamed RegionBorrowed to RegionBorrowedError.
  • Improved docs.
    • Enabled all features for docs.rs
    • Added some examples to the docs

Release issues

This minor release contains a breaking change because prelude doesn't include StoreData. I'm fairly new to maintaining a crate and I did try to avoid making removal of StoreData a breaking change, but I managed to mess it up for which I apologize. This means that if you depended on the suggested use contiguous_mem::prelude::* import and used the StoreData::store_data function you'd have to add an explicit import for contiguous_mem::StoreData.

To address this and prevent it from happening in the future, a semver check action will be added to the project.

Further, while adding an example I noticed that AllocationTracker doesn't handle alignment properly if base alignment of the container is not align_of::<usize>(). This was the case ever since the initial release. Before initial release, AllocationTracker used to keep a copy of base address and all ByteRanges were absolute which meant that such a problem didn't exist.

These issues have been fixed in v0.4.0.