welpo / git-sumi

The non-opinionated Rust-based commit message linter.
https://sumi.rs/
Apache License 2.0
10 stars 0 forks source link

⬆️ chore(deps): update Rust crate strum_macros to 0.26 #4

Closed renovate[bot] closed 4 months ago

renovate[bot] commented 4 months ago

Mend Renovate

This PR contains the following updates:

Package Type Update Change
strum_macros dependencies minor 0.25 -> 0.26

Release Notes

Peternator7/strum (strum_macros) ### [`v0.26.1`](https://togithub.com/Peternator7/strum/blob/HEAD/CHANGELOG.md#0261) - [#​325](https://togithub.com/Peternator7/strum/pull/325): use `core` instead of `std` in VariantArray. ### [`v0.26.0`](https://togithub.com/Peternator7/strum/blob/HEAD/CHANGELOG.md#0260) ##### Breaking Changes - The `EnumVariantNames` macro has been renamed `VariantNames`. The deprecation warning should steer you in the right direction for fixing the warning. - The Iterator struct generated by EnumIter now has new bounds on it. This shouldn't break code unless you manually added the implementation in your code. - `Display` now supports format strings using named fields in the enum variant. This should be a no-op for most code. However, if you were outputting a string like `"Hello {field}"`, this will now be interpretted as a format string. - EnumDiscriminant now inherits the repr and discriminant values from your main enum. This makes the discriminant type closer to a mirror of the original and that's always the goal. ##### New features - The `VariantArray` macro has been added. This macro adds an associated constant `VARIANTS` to your enum. The constant is a `&'static [Self]` slice so that you can access all the variants of your enum. This only works on enums that only have unit variants. ```rust use strum::VariantArray; #[derive(Debug, VariantArray)] enum Color { Red, Blue, Green, } fn main() { println!("{:?}", Color::VARIANTS); // prints: ["Red", "Blue", "Green"] } ``` - The `EnumTable` macro has been *experimentally* added. This macro adds a new type that stores an item for each variant of the enum. This is useful for storing a value for each variant of an enum. This is an experimental feature because I'm not convinced the current api surface area is correct. ```rust use strum::EnumTable; #[derive(Copy, Clone, Debug, EnumTable)] enum Color { Red, Blue, Green, } fn main() { let mut counts = ColorTable::filled(0); for color in &[Color::Red, Color::Red, Color::Green]] { counts[color] += 1; } assert_eq!(counts[Color::Red], 2); assert_eq!(counts[Color::Blue], 0); assert_eq!(counts[Color::Green], 1); } ``` - `Display` has 2 new features: - the `strum(prefix = "some_value")` attribute on an enum now allows you to prepend a string onto every variant when you serialize it. - Custom `to_string` and `serialize` attributes now support string interopolation on serialization. ##### PR's Merged - [#​322](https://togithub.com/Peternator7/strum/pull/322): avoid collisions on `std::fmt::Debug` - [#​321](https://togithub.com/Peternator7/strum/pull/321): avoid conflicts with consecutive underscores. - [#​314](https://togithub.com/Peternator7/strum/pull/314): add additional bounds to EnumIterator - [#​311](https://togithub.com/Peternator7/strum/pull/311): add FusedIterator bounds to EnumIterator - [#​297](https://togithub.com/Peternator7/strum/pull/297): New macro, add `VariantArray` - [#​296](https://togithub.com/Peternator7/strum/pull/296): adds prefix attribute to To/From String macros. - [#​294](https://togithub.com/Peternator7/strum/pull/294): use named enum fields in to_string macro. - [#​288](https://togithub.com/Peternator7/strum/pull/288): discriminant enums now inherit the repr from the original enum. - [#​279](https://togithub.com/Peternator7/strum/pull/279): Add `EnumTable` macro to generate a mapping between fieldless variants and data.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

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.