Skip to content

Commit

Permalink
Merge pull request #94 from jeffparsons/prepare_v1.5.0
Browse files Browse the repository at this point in the history
Prepare v1.5.0
  • Loading branch information
jeffparsons authored Feb 9, 2024
2 parents c42016f + c6549fd commit 21056cf
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 5 deletions.
18 changes: 16 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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<T>; N]> for RangeSet<T>`) 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<Range<K>>` 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)

Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "rangemap"
version = "1.4.0"
version = "1.5.0"
authors = ["Jeff Parsons <[email protected]>"]
edition = "2018"
license = "MIT/Apache-2.0"
Expand Down
4 changes: 2 additions & 2 deletions src/inclusive_map.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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<K, V, StepFnsT = K> {
Expand Down

0 comments on commit 21056cf

Please sign in to comment.