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.
use strum::VariantArray;
#[derive(Debug, VariantArray)]
enum Color {
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.
use strum::EnumTable;
#[derive(Copy, Clone, Debug, EnumTable)]
enum Color {
Red,
Blue,
Green,
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps strum from 0.25.0 to 0.26.1.
Changelog
Sourced from strum's changelog.
... (truncated)
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show