Skip to content

chore(deps): update rust crate strum to 0.28#7048

Merged
renovate[bot] merged 1 commit intodevelopfrom
renovate/strum-monorepo
Mar 19, 2026
Merged

chore(deps): update rust crate strum to 0.28#7048
renovate[bot] merged 1 commit intodevelopfrom
renovate/strum-monorepo

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Mar 19, 2026

This PR contains the following updates:

Package Type Update Change
strum workspace.dependencies minor 0.270.28

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 - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the changelog/chore A trivial change label Mar 19, 2026
@renovate renovate bot enabled auto-merge (squash) March 19, 2026 05:33
@codspeed-hq
Copy link

codspeed-hq bot commented Mar 19, 2026

Merging this PR will improve performance by 18.36%

⚡ 2 improved benchmarks
✅ 1007 untouched benchmarks
⏩ 1515 skipped benchmarks1

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation bitwise_not_vortex_buffer_mut[1024] 535.6 ns 477.2 ns +12.22%
Simulation bitwise_not_vortex_buffer_mut[128] 376.1 ns 317.8 ns +18.36%

Comparing renovate/strum-monorepo (20c378d) with develop (2d37a46)

Open in CodSpeed

Footnotes

  1. 1515 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@renovate renovate bot merged commit bfe1858 into develop Mar 19, 2026
56 of 57 checks passed
@renovate renovate bot deleted the renovate/strum-monorepo branch March 19, 2026 05:42
dimitarvdimitrov pushed a commit that referenced this pull request Mar 20, 2026
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [strum](https://redirect.github.com/Peternator7/strum) |
workspace.dependencies | minor | `0.27` → `0.28` |

---

### Release Notes

<details>
<summary>Peternator7/strum (strum)</summary>

###
[`v0.28.0`](https://redirect.github.com/Peternator7/strum/blob/HEAD/CHANGELOG.md#0280)

[Compare
Source](https://redirect.github.com/Peternator7/strum/compare/v0.27.2...v0.28.0)

- [#&#8203;461](https://redirect.github.com/Peternator7/strum/pull/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.

- [#&#8203;462](https://redirect.github.com/Peternator7/strum/pull/462):
Add missing `#[automatically_derived]` to generated impls not
covered by
[#&#8203;444](https://redirect.github.com/Peternator7/strum/pull/444).

- [#&#8203;466](https://redirect.github.com/Peternator7/strum/pull/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.

- [#&#8203;469](https://redirect.github.com/Peternator7/strum/pull/469):
Use absolute paths in generated proc macro code to avoid
  potential name conflicts.

- [#&#8203;465](https://redirect.github.com/Peternator7/strum/pull/465):
Upgrade `phf` dependency to v0.13.

- [#&#8203;473](https://redirect.github.com/Peternator7/strum/pull/473):
Fix `cargo fmt` / `clippy` issues and add GitHub Actions CI.

- [#&#8203;477](https://redirect.github.com/Peternator7/strum/pull/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.

- [#&#8203;476](https://redirect.github.com/Peternator7/strum/pull/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`:

  ```rust
  #[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
  }
  ```

- [#&#8203;431](https://redirect.github.com/Peternator7/strum/pull/431):
Fix bug where `EnumString` ignored the `parse_err_ty`
  attribute when the enum had a `#[strum(default)]` variant.

- [#&#8203;474](https://redirect.github.com/Peternator7/strum/pull/474):
EnumDiscriminants will now copy `default` over from the
  original enum to the Discriminant enum.

  ```rust
  #[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 },
  }
  ```

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, only on
Monday ( * 0-3 * * 1 ) (UTC), 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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My42Ni40IiwidXBkYXRlZEluVmVyIjoiNDMuNjYuNCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AiLCJsYWJlbHMiOlsiY2hhbmdlbG9nL2Nob3JlIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/chore A trivial change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants