Skip to content
This repository has been archived by the owner on Feb 22, 2024. It is now read-only.

Bump strum from 0.24.1 to 0.26.1 #38

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github Feb 22, 2024

Bumps strum from 0.24.1 to 0.26.1.

Release notes

Sourced from strum's releases.

v0.26.1

0.26.1

  • #325: use core instead of std in VariantArray.

0.26.0

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.

    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.

    use strum::EnumTable;
    #[derive(Copy, Clone, Debug, EnumTable)]
    enum Color {
    Red,
    Blue,

... (truncated)

Changelog

Sourced from strum's changelog.

0.26.1

  • #325: use core instead of std in VariantArray.

0.26.0

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.

    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.

    use strum::EnumTable;
    #[derive(Copy, Clone, Debug, EnumTable)]
    enum Color {
    Red,
    Blue,
    Green,

... (truncated)

Commits

Dependabot compatibility score

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 <dependency name> 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](https://github.com/Peternator7/strum) from 0.24.1 to 0.26.1.
- [Release notes](https://github.com/Peternator7/strum/releases)
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Peternator7/strum/commits/v0.26.1)

---
updated-dependencies:
- dependency-name: strum
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Feb 22, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
dependencies Pull requests that update a dependency file rust Pull requests that update Rust code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants