anymap/CHANGELOG.md
Chris Morgan 521fbfe6bc Refactor to avoid a spurious compatibility warning
Explained in the SAFETY comment. I’m not happy about *doing* this, but
it will make *using* this crate easier, since future-compatibility lints
make noise on bin crate builds, so this was polluting other people’s
code and making life harder for users.

I have traded one evil (a spurious warning) for another (unsafe code).
2022-01-26 00:16:15 +11:00

2.2 KiB
Raw Blame History

1.0.0 (unreleased)

  • Relicensed from MIT/Apache-2.0 to BlueOak-1.0.0/MIT/Apache-2.0.

  • Remove bench Cargo feature (by shifting benchmarks out of src/lib.rs into benches/bench.rs; it still wont run on anything but nightly, but that dont signify). Technically a [breaking-change], but it was something for development only, so Im not in the slightest bit concerned by it.

  • Implement Default on Map (not just on RawMap)

  • Worked around the spurious where_clauses_object_safety future-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.

I dont plan for there to be any real changes from 0.12.1; it should be just a bit of housecleaning and a version bump.

0.12.1 (2017-01-20)

  • Remove superfluous Clone bound on Entry methods (#26)
  • Consistent application of #[inline] where it should be
  • Fix bad performance (see 724f94758d for details)

0.12.0 (2016-03-05)

  • Ungate drain iterator (stable from Rust 1.6.0)
  • Ungate efficient hashing (stable from Rust 1.7.0)
  • Remove unstable Cargo feature (in favour of a bench feature for benchmarking)

0.11.2 (2016-01-22)

  • Rust warning updates only

0.11.1 (2015-06-24)

  • Unstable Rust compatibility updates

0.11.0 (2015-06-10)

  • Support concurrent maps (Send + Sync bound)
  • Rename nightly feature to unstable
  • Implement Debug for Map and RawMap
  • Replace clone Cargo feature with arcane DST magicks

Older releases (from the initial code on 2014-06-12 to 0.10.3 on 2015-04-18)

Im not giving a changelog for these artefacts of ancient history. If you really care you can look through the Git history easily enough. Most of the releases were just compensating for changes to the language (that being before Rust 1.0; yes, this crate has been around for a while).

I do think that src/lib.rs in the first commit is a work of art, a thing of great beauty worth looking at; its simplicity is delightful, and it doesnt even need to contain any unsafe code.