summaryrefslogtreecommitdiff
path: root/crates/slotmap-careful
Commit message (Collapse)AuthorAgeFilesLines
* release: Bump creates with non-functional changes.Alexander Hansen Færøy2025-06-051-1/+1
| | | | | | | | | | | | caret, hashx, oneshot-fused-workaround, retry-error, safelog, slotmap-careful, and test-temp-dir all only had the change from 88e911acd4bb70bf1da0fc71d77b51cb6abde478 where we bump the rust-version to 1.83. Done using: ./maint/bump_nodep retry-error safelog caret hashx test-temp-dir \ slotmap-careful oneshot-fused-workaround
* All crates: bump rust-version to 1.83.Nick Mathewson2025-05-131-1/+1
|
* Patchlevel bumps for Arti 1.3.2Nick Mathewson2025-01-071-1/+1
| | | | | | | | | | | | | | | | | | These crates are versioned independently. These crates have had changes to clippy warnings, and to non-exported dependencies. Additionally, the fs-mistrust crate has had only backward-compatible changes, and no new APIs. Therefore, these crates all get patchlevel bumps. Other crates don't need their dependencies updated. Done with ``` ./maint/bump_nodep $(./maint/list_crates |grep -v '^arti\|tor' ) ```
* clippy: deny `mod_module_files`Steven Engler2025-01-061-0/+1
| | | | | | Denies 'mod.rs' files for consistency. https://rust-lang.github.io/rust-clippy/master/index.html#mod_module_files
* add_warnings, *: Allow clippy::needless_lifetimesNick Mathewson2024-12-031-0/+1
| | | | | | | | In 1.83, this warning triggers on many of our crates. We're thinking of fixing them all, but for now, we're going to disable the warning. This is part of #1765.
* Bump the versions of the non-{arti-,tor-} crates.Gabriela Moldovan2024-12-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The non-{arti-,tor-} crates are: ``` ./maint/list_crates | rg -v '^(tor|arti)' oneshot-fused-workaround slotmap-careful test-temp-dir fslock-guard hashx equix caret fs-mistrust safelog retry-error ``` We split them in the following categories: * crates with no changes (no version bumps): ``` maint/changed_crates -v "arti-v$LAST_VERSION" 2>&1 >/dev/null | grep -i "no change" | grep -v '\(tor\|arti\)-' oneshot-fused-workaround: No change. test-temp-dir: No change. caret: No change. ``` * crates that only have non-functional changes (bump the patch version): - slotmap-careful - fslock-guard - hashx - equix - fs-mistrust - safelog - retry-error * crates where APIs were broken (bump minor): None The bumps from this commit were created using this script: ``` PATCH=" slotmap-careful fslock-guard hashx equix fs-mistrust safelog retry-error " for crate in $PATCH; do cargo set-version --bump patch -p $crate; done ```
* cargo: Update `thiserror` to `2`Clara Engler2024-11-121-1/+1
|
* Bump minor versions of crates with new APIs/implsIan Jackson2024-10-301-1/+1
| | | | | cargo set-version --bump=patch -p slotmap-careful cargo set-version --bump=patch -p safelog
* Convert a few crates to slotmap-carefulNeel Chauhan2024-10-171-2/+14
|
* Minor bumps on non-tor/arti cratesNick Mathewson2024-09-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These crates are not in the tor/arti namespace, but we have given them MSRV bumps: ``` oneshot-fused-workaround slotmap-careful fslock-guard hashx equix caret fs-mistrust safelog test-temp-dir retry-error ``` We are counting this as a breaking change. Since all of these crates are at 0.x.x, we have indicated the breaking change with a minor version bump. This commit was generated with the following script: ``` BUMPS=" oneshot-fused-workaround slotmap-careful fslock-guard hashx equix caret fs-mistrust safelog test-temp-dir retry-error " for crate in $BUMPS; do cargo set-version --bump minor -p $crate; done ```
* Upgrade MSRV to 1.77Nick Mathewson2024-09-251-1/+1
| | | | This will allow us to upgrade to the latest version of rusqlite.
* Bump MSRV from 1.70 to 1.75.Wesley Aptekar-Cassels2024-09-161-1/+1
|
* Fix typosDimitris Apostolou2024-09-031-1/+1
|
* slotmap-careful: Try to make test work with MSRV.Nick Mathewson2024-08-081-8/+4
|
* New `slotmap-careful` crate to use when we mustn't re-use keys.Nick Mathewson2024-08-084-0/+1300
This crate works as a drop-in replacement for the generational arena types `slotmap::{SlotMap, DenseSlotMap, HopSlotMap}`, and is implemented a set of wrappers around those types. The wrappers guarantee that slot versions numbers can never wrap around by marking as unusable any slot whose version number would otherwise get too high. (We add some leeway between our max allowed version number and the largest possible version number, so that we can detect bugs.) The code relies on the serde encoding of slotmap key versions. For notes on stability and (surprisingly good) performance, see the comments. Test coverage is around 98% for the lib.rs file; it's lower in key_data.rs, since the error cases are unreachable given slotmap's current behavior. Open questions: * What further testing is a good idea? * Will slotmap ever upstream something like this? See "# Limitations" comment for the parts of slotmap that are not implemented; I hope that we don't need them.