All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Methods
MinMaxHeap::peek_min_mut
andMinMaxHeap::peek_max_mut
*.
- Oldest supported rustc version is now 1.32.0.
- Updated dev dependencies
rand
(0.5 to 0.7) andquickcheck
(0.7.2 to 0.9).
- Removed syntax not accepted by older rustc.
- Documented time complexity of
push
to be worst-case linear and amortized logarithmic. - Fixed bugs in
MinMaxHeap::replace_max
andMinMaxHeap::push_pop_max
that were corrupting the heap order.
- Two new iterator types,
DrainAsc
andDrainDesc
, and two new methods for creating them,MinMaxHeap::drain_asc
andMinMaxHeap::drain_desc
. These iterators drain the heap in ascending (min-first) or descending (max-first) order, respectively. - Implementations of
Iterator::size_hint
forDrain
,IntoIter
, andIter
iterator types.
#[doc(html_base_url = ...)]
annotation in crate root.
- Optional serde support. Enable
"serde"
Cargo feature to get impls ofSerializable
andDeserializable
forMinMaxHeap
. - Documented oldest supported rustc version: 1.20.
- Uses
ManuallyDrop
instead ofOption
in internalHole
implementation. (Thanks to Nikita Popov.)
- Some simple benchmarks.
- Internal
is_min_level
function usesleading_zeros
instead of an O(log n)–time loop.
- Documentation URL.
- Dependency on Clippy. Use
cargo +nightly clippy
instead.
- Automatic code coverage checking on codecov.io.
- Bad crate metadata.
MinMaxHeap::into_vec_asc
andMinMaxHeap::into_vec_desc
methods.- Impl of
From<Vec<T>>
forMinMaxHeap<T>
.
- Clippy warnings.
- Mentioned
crates.io
in docs.
Initial release