Peternator7/strum
### [`v0.25.0`](https://togithub.com/Peternator7/strum/blob/HEAD/CHANGELOG.md#0250)
##### Breaking Changes
- [#261](https://togithub.com/Peternator7/strum/pull/261) Upgrade syn dependency to version 2. This bumps the msrv to
1.56. It's impractical to maintain a package where a core dependency of the ecosystem has a different msrv than this one.
- [270](https://togithub.com/Peternator7/strum/pull/270) Change the `to_string` behavior when using `default`. Now, when
using `default`, the `display` method will return the display version of the value contained in the enum rather than
the name of the variant.
```rust
#[derive(strum::Display)]
enum Color {
Red,
Blue,
Green,
#[strum(default)]
Other(String)
}
fn main() {
// This used to print "Other", now it prints "Purple"
assert_eq!(Color::Other("Purple".to_string()).to_string(), "Purple");
}
```
If you want the old behavior, you can use the `to_string` attribute to override this behavior. See the PR for an example.
- [268](https://togithub.com/Peternator7/strum/pull/268) Update the behavior of `EnumCount` to exclude variants that are
`disabled`. This is a breaking change, but the behavior makes it more consistent with other methods.
##### New Features
- [#257](https://togithub.com/Peternator7/strum/pull/257) This PR adds the `EnumIs` macro that automatically implements
`is_{variant_name}` methods for each variant.
```rust
#[derive(EnumIs)]
enum Color {
Red,
Blue,
Green,
}
#[test]
fn simple_test() {
assert!(Color::Red.is_red());
}
```
### [`v0.24.1`](https://togithub.com/Peternator7/strum/blob/HEAD/CHANGELOG.md#0241-Yanked-becase-217-was-more-breaking-than-I-wanted)
- [#220](https://togithub.com/Peternator7/strum/pull/220). Add support for PHF in `EnumString` (opt-in runtime
performance improvements for large enums as `#[strum(use_phf)]`, requires `phf` feature and increases MSRV to `1.46`)
- [#224](https://togithub.com/Peternator7/strum/pull/224) tweaked the algorithm.
- [#217](https://togithub.com/Peternator7/strum/pull/217): Automatically implement `TryFrom` in `FromRepr`. This is
technically a breaking change, but the fix is to just remove the manual implementation of TryFrom so it shouldn't
be more than a minor inconvenience.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
0.24
->0.25
Release Notes
Peternator7/strum
### [`v0.25.0`](https://togithub.com/Peternator7/strum/blob/HEAD/CHANGELOG.md#0250) ##### Breaking Changes - [#261](https://togithub.com/Peternator7/strum/pull/261) Upgrade syn dependency to version 2. This bumps the msrv to 1.56. It's impractical to maintain a package where a core dependency of the ecosystem has a different msrv than this one. - [270](https://togithub.com/Peternator7/strum/pull/270) Change the `to_string` behavior when using `default`. Now, when using `default`, the `display` method will return the display version of the value contained in the enum rather than the name of the variant. ```rust #[derive(strum::Display)] enum Color { Red, Blue, Green, #[strum(default)] Other(String) } fn main() { // This used to print "Other", now it prints "Purple" assert_eq!(Color::Other("Purple".to_string()).to_string(), "Purple"); } ``` If you want the old behavior, you can use the `to_string` attribute to override this behavior. See the PR for an example. - [268](https://togithub.com/Peternator7/strum/pull/268) Update the behavior of `EnumCount` to exclude variants that are `disabled`. This is a breaking change, but the behavior makes it more consistent with other methods. ##### New Features - [#257](https://togithub.com/Peternator7/strum/pull/257) This PR adds the `EnumIs` macro that automatically implements `is_{variant_name}` methods for each variant. ```rust #[derive(EnumIs)] enum Color { Red, Blue, Green, } #[test] fn simple_test() { assert!(Color::Red.is_red()); } ``` ### [`v0.24.1`](https://togithub.com/Peternator7/strum/blob/HEAD/CHANGELOG.md#0241-Yanked-becase-217-was-more-breaking-than-I-wanted) - [#220](https://togithub.com/Peternator7/strum/pull/220). Add support for PHF in `EnumString` (opt-in runtime performance improvements for large enums as `#[strum(use_phf)]`, requires `phf` feature and increases MSRV to `1.46`) - [#224](https://togithub.com/Peternator7/strum/pull/224) tweaked the algorithm. - [#217](https://togithub.com/Peternator7/strum/pull/217): Automatically implement `TryFrom` in `FromRepr`. This is technically a breaking change, but the fix is to just remove the manual implementation of TryFrom so it shouldn't be more than a minor inconvenience.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.