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).
2.2 KiB
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 ofsrc/lib.rs
intobenches/bench.rs
; it still won’t run on anything but nightly, but that don’t signify). Technically a [breaking-change], but it was something for development only, so I’m not in the slightest bit concerned by it. -
Implement
Default
onMap
(not just onRawMap
) -
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 don’t 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 abench
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 tounstable
- Implement
Debug
forMap
andRawMap
- 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)
I’m 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 doesn’t even need to contain any unsafe code.