Skip to content

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 13 Aug 04:48
· 497 commits to main since this release

Added

  • Breaking: BumpAllocator trait family has been reworked:
    • what was BumpAllocator is now BumpAllocatorExt, same with other traits that have an *Ext variant
    • trait methods become public api
    • BumpAllocator becomes a sealed trait
    • &dyn BumpAllocator can be used for collections
  • Add Chunk::allocator() which returns the base allocator
  • Make BumpScope(Guard)(Root)::allocator() return an &'a A allocator instead of &A
  • Make BumpScopeGuardRoot::stats() return Stats<'a, ...> instead of Stats<'_, ...>
  • Relax base allocator trait bounds on Bump(Scope) struct and methods
  • alloc_try_with(_mut) now works for non-GUARANTEED_ALLOCATED Bump(Scope)s
  • Breaking: guaranteed_allocated conversion methods now take a closure parameter so you can initialize unallocated Bumps with a custom size or capacity
  • Improve Fixed* collection documentation.
  • Improve crate documentation.

Changed

  • Breaking: Raise minimum supported rust version to 1.85.1
  • Breaking: Remove without_shrink and without_dealloc methods
  • Breaking: Rename guaranteed_allocated to into_guaranteed_allocated
  • Breaking: Rename guaranteed_allocated_ref to as_guaranteed_allocated
  • Breaking: Rename guaranteed_allocated_mut to as_mut_guaranteed_allocated
  • Breaking: Rename not_guaranteed_allocated to into_not_guaranteed_allocated
  • Breaking: Rename not_guaranteed_allocated_ref to as_not_guaranteed_allocated
  • Switch to rust edition 2024

Fixed

  • Fix small amount of wasted space when allocating Mut* collections on a downwards bumping allocator
  • Fix potential UB when calling allocator() on an unallocated Bump(Scope), now allocator() returns Option<&A> for !GUARANTEED_ALLOCATED Bump(Scope)s
  • Fix allocating a layout of size zero on an unallocated Bump resulting in an assertion / potential UB
  • Fix resetting an unallocated Bump resulting in an assertion / potential UB
  • Fix deallocation of an outside object inside an aligned / scoped / scoped_aligned resulting in a misaligned bump position