PackageTrack
Sign in Get early access

generational-arena

A safe arena allocator that supports deletion without suffering from the ABA problem by using generational indices.

0.2.9 9.6M downloads/mo #3171 most downloaded on crates.io fitzgen/generational-arena

What this package is like to depend on

Last release 3 years ago

no release in 18 months

Ships unpredictably

gaps range from 6 weeks to 3.0 years

Nearly every release is documented

notes for 9 of 10 stable releases

1 version withdrawn

withdrawn after publishing

8 years old

11 releases · first in 2018

0 releases in the last 12 months

see the full history below

Release timeline

11 releases · Aug 2018 to May 2023
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 11
  1. 0.2.9 22 May 2023
    Release notes

    Released 2023-05-22.

    Open source →
  2. 0.2.8 18 May 2020
    Release notes

    Released 2020-05-18.

    • Add a Default implementation for Arena
    • Add the insert_with and try_insert_with methods to Arena. These methods allow creating a value while inserting it, and the function to create the value is given the its id in the arena. For example, this allows a struct that is in an arena to have a member field that is its id within the arena.
    Open source →
  3. 0.2.7 03 Jan 2020
    Release notes

    Released 2020-01-03.

    • Fixed a bug in Arena::retain where not every element was always considered for retention. See https://github.com/fitzgen/generational-arena/pull/28 for details.
    Open source →
  4. 0.2.6 11 Nov 2019
    Release notes

    Released 2019-11-11.

    • Added Arena::get_unknown_gen[_mut] methods for the rare cases where you need to get the item and Index at a given offset within the arena.
    Open source →
  5. 0.2.5 11 Nov 2019 withdrawn
    Release notes

    Yanked because of bad cargo publish.

    Open source →
  6. 0.2.4 04 Nov 2019
    Release notes

    Released 2019-11-04.

    • The retain method now gives mutable references to the arena's items, rather than shared references. This matches Vec::retain.
    • Upgraded to 2018 edition.
    Open source →
  7. 0.2.3 25 Sep 2019
    Release notes

    Released 2019-09-25.

    • Add methods for converting Index into and from its raw parts.
    Open source →
  8. 0.2.2 13 Mar 2019
    Release notes

    Released 2019-03-12.

    • Add a retain method analogous to Vec::retain.
    Open source →
  9. 0.2.1 22 Jan 2019
    Release notes

    Released 2019-01-22.

    • Bad indexing into an arena will now panic with a message explaining what happened instead of the generic unwrap panic message.
    Open source →
  10. 0.2.0 28 Nov 2018
    Release notes

    Released 2018-11-28.

    • Added support for serde serialization and deserialization. Enable the "serde" feature to access it.
    • Added clear method to empty an arena.
    • Added a drain method to iterate over items and remove them from the arena at the same time.
    • Implemented ExactSizeIterator, DoubleEndedIterator, and FusedIterator for our various iterators. This also gave a nice speed up to iteration.
    • Added the get2_mut method to get two distinct items out of the arena mutably at the same time.
    Open source →
  11. 0.1.0 22 Aug 2018

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive