anymap
A safe and convenient store for one value of each type
0.12.1
8.2M downloads/mo
#3462 most downloaded on crates.io
chris-morgan/anymap
What this package is like to depend on
Last release 5 years ago
no release in 18 months
Ships unpredictably
gaps range from 2 weeks to 5.0 years
Some releases are documented
notes for 7 of 21 stable releases
1 version withdrawn
withdrawn after publishing
12 years old
24 releases · first in 2014
0 releases in the last 12 months
see the full history below
Release timeline
24 releases · Nov 2014 to Feb 2022Releases
latest 24-
1.0.0-beta.222 Feb 2022 pre-releaseRelease notes
Open source →-
Fixed the broken
Extendimplementation added in 1.0.0-beta.1. -
Split the hashbrown implementation into a new module,
hashbrown: std and hashbrown can now coexist completely peacefully, withanymap::Mapbeing powered bystd::collections::hash_map, andanymap::hashbrown::Mapbeing powered byhashbrown::hash_map. Theraw_hash_mapalias, provided in 1.0.0-beta.1 because of the ambiguity of what backedanymap::Map, is removed as superfluous and useless.RawMapremains, despite not being required, as an ergonomic improvement. With this, we’re back to proper completely additive Cargo features.
-
-
1.0.0-beta.125 Jan 2022 pre-releaseRelease notes
Open source →-
Removed
anymap::any::Anyin favour of just plaincore::any::Any, since itsSend/Syncstory is now long stable.- This loses
Any + Sync.CloneAny + Syncis also removed for consistency. (SoAny + Syncis gone, butAny,Any + SendandAny + Send + Syncremain, plus the same set forCloneAny.)
- This loses
-
anymap::any::CloneAnymoved toanymap::CloneAny. With nothing public left inanymap::any, it is removed. -
Relicensed from MIT/Apache-2.0 to BlueOak-1.0.0/MIT/Apache-2.0.
-
Increased the minimum supported version of Rust from 1.7.0 to 1.36.0.
-
no_std is now possible in the usual way (default Cargo feature 'std'), depending on alloc and hashbrown.
-
Removed the
benchCargo feature which was mostly to work around historical Cargo limitations, but was solved by moving benchmarks fromsrc/lib.rstobenches/bench.rseven before those limitations were lifted. The benchmarks still won’t run on anything but nightly, but that don’t signify. -
Implemented
DefaultonMap(not just onRawMap). -
Added
Entry::{or_default, and_modify}(std::collections::hash_map parity). -
Removed the
anymap::rawwrapper layer aroundstd::collections::hash_map, in favour of exposing the rawHashMapdirectly. I think there was a reason I did it that seven years ago, but I think that reason may have dissolved by now, and I can’t think of it and I don’t like the particular safeas_mut/unsafe insert approach that I used. Because of the hashbrown stuff, I have retainedanymap::RawMapis an alias, andanymap::raw_hash_maptoo. The end result of this is that raw access can finally access things that have stabilised since Rust 1.7.0, and we’ll no longer need to play catch-up. -
Worked around the spurious
where_clauses_object_safetyfuture-compatibility lint that has been raised since mid-2018. If you put#![allow(where_clauses_object_safety)]on your binary crates for this reason, you can remove it.
-
-
0.12.120 Jan 2017Release notes
Open source →- Remove superfluous Clone bound on Entry methods (#26)
- Consistent application of
#[inline]where it should be - Fix bad performance (see 724f94758def9f71ad27ff49e47e908a431c2728 for details)
-
0.12.005 Mar 2016Release notes
Open source →- Ungate
drainiterator (stable from Rust 1.6.0) - Ungate efficient hashing (stable from Rust 1.7.0)
- Remove
unstableCargo feature (in favour of abenchfeature for benchmarking)
- Ungate
-
0.11.222 Jan 2016 -
0.11.124 Jun 2015 -
0.11.009 Jun 2015Release notes
Open source →- Support concurrent maps (
Send + Syncbound) - Rename
nightlyfeature tounstable - Implement
DebugforMapandRawMap - Replace
cloneCargo feature with arcane DST magicks
- Support concurrent maps (
-
0.10.318 Apr 2015Release notes
Open source →This is accomplished at a certain loss of efficiency, sadly.
Add the 'nightly' feature to get things back how they were.
-
0.10.215 Apr 2015 -
0.10.027 Mar 2015Nothing published for this version
-
0.9.1326 Mar 2015Nothing published for this version
-
0.9.1202 Mar 2015Nothing published for this version
-
0.9.1124 Feb 2015Nothing published for this version
-
0.9.1004 Feb 2015Nothing published for this version
-
0.9.921 Jan 2015Nothing published for this version
-
0.9.809 Jan 2015Nothing published for this version
-
0.9.707 Jan 2015Nothing published for this version
-
0.9.603 Jan 2015Nothing published for this version
-
0.9.503 Jan 2015 withdrawnNothing published for this version
-
0.9.423 Dec 2014Nothing published for this version
-
0.9.317 Dec 2014Nothing published for this version
-
0.9.228 Nov 2014Nothing published for this version
-
0.9.119 Nov 2014Nothing published for this version
-
0.9.011 Nov 2014Nothing published for this version