From bc1cf9555eb3ba61a3b24a0e816976470297fc2b Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Fri, 9 Feb 2024 23:09:59 +1100 Subject: [PATCH 1/3] Fix redundant link target `cargo doc` told me about this. --- src/inclusive_map.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/inclusive_map.rs b/src/inclusive_map.rs index bbb1f80..732decd 100644 --- a/src/inclusive_map.rs +++ b/src/inclusive_map.rs @@ -29,10 +29,10 @@ use serde::{ /// because adjacent ranges can be detected using equality of range ends alone.) /// /// You can provide these functions either by implementing the -/// [`StepLite`](crate::StepLite) trait for your key type `K`, or, +/// [`StepLite`] trait for your key type `K`, or, /// if this is impossible because of Rust's "orphan rules", /// you can provide equivalent free functions using the `StepFnsT` type parameter. -/// [`StepLite`](crate::StepLite) is implemented for all standard integer types, +/// [`StepLite`] is implemented for all standard integer types, /// but not for any third party crate types. #[derive(Clone, Default)] pub struct RangeInclusiveMap { From 27cb79d816721adce5385412c6802ae94a1d3b84 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Fri, 9 Feb 2024 23:15:53 +1100 Subject: [PATCH 2/3] Update changelog for v1.5.0 release --- CHANGELOG.md | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fc1052f..706d618 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,22 @@ -### v1.5.0 (unreleased) +### v1.5.0 (2024-02-09) "xfbs rampage edition" + +Huge thanks to [xfbs](https://github.com/xfbs), who did pretty much all the work you see in the changelog below! 💖 + +- **Features**: + - Add `union` and `intersection` methods to iterate over the union or intersection of two sets. + - Add `first_range_value` and `last_range_value` methods to map types and `first` and `last` methods to set types. + - Add literal macros for all collection types — e.g. `range_set![0..100, 200..300, 400..500]`. + - Implement `Default` and `Hash` for all collection types. + - Implement `DoubleEndedIterator` for all iterators. + - Implement `From<[_; N]>` (e.g. `From<[Range; N]> for RangeSet`) for all collections. (Previously you could build a collection from an iterator, but not directly from an array.) + - Implement `BitOr` and `BitAnd` for set types. (Convenience wrapper around the `union` and `intersection` methods mentioned above.) + - Accept any `R: Borrow>` as argument to `overlapping` methods, allowing it to take ranges by value. - **Changes**: - Bump minimum supported Rust version to 1.66.0 (released 2022-12-15). This is to gain access to `BTreeMap::first_key_value` and `BTreeMap::last_key_value`, and for compatibility with new versions of some of rangemap's test dependencies. - - TODO: All of xfbs's PRs! + +- **Internal**: + - New benchmarks and improved test coverage. ### v1.4.0 (2023-09-19) From c6549fdbf24e5cccf09d4ab1652c8b09c941a23f Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Fri, 9 Feb 2024 23:20:15 +1100 Subject: [PATCH 3/3] Bump version to 1.5.0 for release --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 3955560..15e35d6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rangemap" -version = "1.4.0" +version = "1.5.0" authors = ["Jeff Parsons "] edition = "2018" license = "MIT/Apache-2.0"