Skip to content

⬆️ Update Rust crate strum to 0.28.0#1445

Merged
edenhaus merged 1 commit into
devfrom
renovate/strum-0.x
Feb 22, 2026
Merged

⬆️ Update Rust crate strum to 0.28.0#1445
edenhaus merged 1 commit into
devfrom
renovate/strum-0.x

Conversation

@renovate

@renovate renovate Bot commented Feb 22, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
strum dev-dependencies minor 0.27.20.28.0

Release Notes

Peternator7/strum (strum)

v0.28.0

Compare Source

  • #​461: Allow any kind of passthrough attributes on EnumDiscriminants.

    • Previously only list-style attributes (e.g. #[strum_discriminants(derive(...))]) were supported. Now path-only
      (e.g. #[strum_discriminants(non_exhaustive)]) and name/value (e.g. #[strum_discriminants(doc = "foo")])
      attributes are also supported.
  • #​462: Add missing #[automatically_derived] to generated impls not
    covered by #​444.

  • #​466: Bump MSRV to 1.71, required to keep up with updated syn and
    windows-sys dependencies. This is a breaking change if you're on an old version of rust.

  • #​469: Use absolute paths in generated proc macro code to avoid
    potential name conflicts.

  • #​465: Upgrade phf dependency to v0.13.

  • #​473: Fix cargo fmt / clippy issues and add GitHub Actions CI.

  • #​477: strum::ParseError now implements core::fmt::Display instead
    std::fmt::Display to make it #[no_std] compatible. Note the Error trait wasn't available in core until 1.81
    so strum::ParseError still only implements that in std.

  • #​476: Breaking Change - EnumString now implements From<&str>
    (infallible) instead of TryFrom<&str> when the enum has a #[strum(default)] variant. This more accurately
    reflects that parsing cannot fail in that case. If you need the old TryFrom behavior, you can opt back in using
    parse_error_ty and parse_error_fn:

    #[derive(EnumString)]
    #[strum(parse_error_ty = strum::ParseError, parse_error_fn = make_error)]
    pub enum Color {
        Red,
        #[strum(default)]
        Other(String),
    }
    
    fn make_error(x: &str) -> strum::ParseError {
        strum::ParseError::VariantNotFound
    }
  • #​431: Fix bug where EnumString ignored the parse_err_ty
    attribute when the enum had a #[strum(default)] variant.

  • #​474: EnumDiscriminants will now copy default over from the
    original enum to the Discriminant enum.

    #[derive(Debug, Default, EnumDiscriminants)]
    #[strum_discriminants(derive(Default))] // <- Remove this in 0.28.
    enum MyEnum {
        #[default] // <- Will be the #[default] on the MyEnumDiscriminant
        #[strum_discriminants(default)] // <- Remove this in 0.28
        Variant0,
        Variant1 { a: NonDefault },
    }

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 is behind base branch, 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 was generated by Mend Renovate. View the repository job log.

@codecov

codecov Bot commented Feb 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.78%. Comparing base (c9dd443) to head (8f14a10).
⚠️ Report is 3 commits behind head on dev.

Additional details and impacted files
@@           Coverage Diff           @@
##              dev    #1445   +/-   ##
=======================================
  Coverage   94.78%   94.78%           
=======================================
  Files         152      152           
  Lines        5969     5969           
  Branches      350      350           
=======================================
  Hits         5658     5658           
  Misses        249      249           
  Partials       62       62           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@codspeed-hq

codspeed-hq Bot commented Feb 22, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 113 untouched benchmarks


Comparing renovate/strum-0.x (8f14a10) with dev (c9dd443)

Open in CodSpeed

@edenhaus edenhaus merged commit 7a97f47 into dev Feb 22, 2026
26 checks passed
@edenhaus edenhaus deleted the renovate/strum-0.x branch February 22, 2026 20:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant