Skip to content

Commit f30f452

Browse files
authored
chore(deps): update rust crate thiserror to v2 (#14998)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [thiserror](https://redirect.github.com/dtolnay/thiserror) | workspace.dependencies | major | `1.0.63` -> `2.0.0` | --- ### Release Notes <details> <summary>dtolnay/thiserror (thiserror)</summary> ### [`v2.0.9`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.9) [Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.8...2.0.9) - Work around `missing_inline_in_public_items` clippy restriction being triggered in macro-generated code ([#&#8203;404](https://redirect.github.com/dtolnay/thiserror/issues/404)) ### [`v2.0.8`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.8) [Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.7...2.0.8) - Improve support for macro-generated `derive(Error)` call sites ([#&#8203;399](https://redirect.github.com/dtolnay/thiserror/issues/399)) ### [`v2.0.7`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.7) [Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.6...2.0.7) - Work around conflict with #\[deny(clippy::allow_attributes)] ([#&#8203;397](https://redirect.github.com/dtolnay/thiserror/issues/397), thanks [@&#8203;zertosh](https://redirect.github.com/zertosh)) ### [`v2.0.6`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.6) [Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.5...2.0.6) - Suppress deprecation warning on generated From impls ([#&#8203;396](https://redirect.github.com/dtolnay/thiserror/issues/396)) ### [`v2.0.5`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.5) [Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.4...2.0.5) - Prevent deprecation warning on generated impl for deprecated type ([#&#8203;394](https://redirect.github.com/dtolnay/thiserror/issues/394)) ### [`v2.0.4`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.4) [Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.3...2.0.4) - Eliminate needless_lifetimes clippy lint in generated `From` impls ([#&#8203;391](https://redirect.github.com/dtolnay/thiserror/issues/391), thanks [@&#8203;matt-phylum](https://redirect.github.com/matt-phylum)) ### [`v2.0.3`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.3) [Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.2...2.0.3) - Support the same Path field being repeated in both Debug and Display representation in error message ([#&#8203;383](https://redirect.github.com/dtolnay/thiserror/issues/383)) - Improve error message when a format trait used in error message is not implemented by some field ([#&#8203;384](https://redirect.github.com/dtolnay/thiserror/issues/384)) ### [`v2.0.2`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.2) [Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.1...2.0.2) - Fix hang on invalid input inside #\[error(...)] attribute ([#&#8203;382](https://redirect.github.com/dtolnay/thiserror/issues/382)) ### [`v2.0.1`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.1) [Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/2.0.0...2.0.1) - Support errors that contain a dynamically sized final field ([#&#8203;375](https://redirect.github.com/dtolnay/thiserror/issues/375)) - Improve inference of trait bounds for fields that are interpolated multiple times in an error message ([#&#8203;377](https://redirect.github.com/dtolnay/thiserror/issues/377)) ### [`v2.0.0`](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.0) [Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/1.0.69...2.0.0) #### Breaking changes - Referencing keyword-named fields by a raw identifier like `{r#type}` inside a format string is no longer accepted; simply use the unraw name like `{type}` ([#&#8203;347](https://redirect.github.com/dtolnay/thiserror/issues/347)) This aligns thiserror with the standard library's formatting macros, which gained support for implicit argument capture later than the release of this feature in thiserror 1.x. ```rust #[derive(Error, Debug)] #[error("... {type} ...")] // Before: {r#type} pub struct Error { pub r#type: Type, } ``` - Trait bounds are no longer inferred on fields whose value is shadowed by an explicit named argument in a format message ([#&#8203;345](https://redirect.github.com/dtolnay/thiserror/issues/345)) ```rust // Before: impl<T: Octal> Display for Error<T> // After: impl<T> Display for Error<T> #[derive(Error, Debug)] #[error("{thing:o}", thing = "...")] pub struct Error<T> { thing: T, } ``` - Tuple structs and tuple variants can no longer use numerical `{0}` `{1}` access at the same time as supplying extra positional arguments for a format message, as this makes it ambiguous whether the number refers to a tuple field vs a different positional arg ([#&#8203;354](https://redirect.github.com/dtolnay/thiserror/issues/354)) ```rust #[derive(Error, Debug)] #[error("ambiguous: {0} {}", $N)] // ^^^ Not allowed, use #[error("... {0} {n}", n = $N)] pub struct TupleError(i32); ``` - Code containing invocations of thiserror's `derive(Error)` must now have a direct dependency on the `thiserror` crate regardless of the error data structure's contents ([#&#8203;368](https://redirect.github.com/dtolnay/thiserror/issues/368), [#&#8203;369](https://redirect.github.com/dtolnay/thiserror/issues/369), [#&#8203;370](https://redirect.github.com/dtolnay/thiserror/issues/370), [#&#8203;372](https://redirect.github.com/dtolnay/thiserror/issues/372)) #### Features - Support disabling thiserror's standard library dependency by disabling the default "std" Cargo feature: `thiserror = { version = "2", default-features = false }` ([#&#8203;373](https://redirect.github.com/dtolnay/thiserror/issues/373)) - Support using `r#source` as field name to opt out of a field named "source" being treated as an error's `Error::source()` ([#&#8203;350](https://redirect.github.com/dtolnay/thiserror/issues/350)) ```rust #[derive(Error, Debug)] #[error("{source} ==> {destination}")] pub struct Error { r#source: char, destination: char, } let error = Error { source: 'S', destination: 'D' }; ``` - Infinite recursion in a generated Display impl now produces an `unconditional_recursion` warning ([#&#8203;359](https://redirect.github.com/dtolnay/thiserror/issues/359)) ```rust #[derive(Error, Debug)] #[error("??? {self}")] pub struct Error; ``` - A new attribute `#[error(fmt = path::to::myfmt)]` can be used to write formatting logic for an enum variant out-of-line ([#&#8203;367](https://redirect.github.com/dtolnay/thiserror/issues/367)) ```rust #[derive(Error, Debug)] pub enum Error { #[error(fmt = demo_fmt)] Demo { code: u16, message: Option<String> }, } fn demo_fmt(code: &u16, message: &Option<String>, formatter: &mut fmt::Formatter) -> fmt::Result { write!(formatter, "{code}")?; if let Some(msg) = message { write!(formatter, " - {msg}")?; } Ok(()) } ``` - Enums with an enum-level format message are now able to have individual variants that are `transparent` to supersede the enum-level message ([#&#8203;366](https://redirect.github.com/dtolnay/thiserror/issues/366)) ```rust #[derive(Error, Debug)] #[error("my error {0}")] pub enum Error { Json(#[from] serde_json::Error), Yaml(#[from] serde_yaml::Error), #[error(transparent)] Other(#[from] anyhow::Error), } ``` ### [`v1.0.69`](https://redirect.github.com/dtolnay/thiserror/releases/tag/1.0.69) [Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/1.0.68...1.0.69) - Backport [2.0.2](https://redirect.github.com/dtolnay/thiserror/releases/tag/2.0.2) fixes ### [`v1.0.68`](https://redirect.github.com/dtolnay/thiserror/releases/tag/1.0.68) [Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/1.0.67...1.0.68) - Handle incomplete expressions more robustly in format arguments, such as while code is being typed ([#&#8203;341](https://redirect.github.com/dtolnay/thiserror/issues/341), [#&#8203;344](https://redirect.github.com/dtolnay/thiserror/issues/344)) ### [`v1.0.67`](https://redirect.github.com/dtolnay/thiserror/releases/tag/1.0.67) [Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/1.0.66...1.0.67) - Improve expression syntax support inside format arguments ([#&#8203;335](https://redirect.github.com/dtolnay/thiserror/issues/335), [#&#8203;337](https://redirect.github.com/dtolnay/thiserror/issues/337), [#&#8203;339](https://redirect.github.com/dtolnay/thiserror/issues/339), [#&#8203;340](https://redirect.github.com/dtolnay/thiserror/issues/340)) ### [`v1.0.66`](https://redirect.github.com/dtolnay/thiserror/releases/tag/1.0.66) [Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/1.0.65...1.0.66) - Improve compile error on malformed format attribute ([#&#8203;327](https://redirect.github.com/dtolnay/thiserror/issues/327)) ### [`v1.0.65`](https://redirect.github.com/dtolnay/thiserror/releases/tag/1.0.65) [Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/1.0.64...1.0.65) - Ensure OUT_DIR is left with deterministic contents after build script execution ([#&#8203;325](https://redirect.github.com/dtolnay/thiserror/issues/325)) ### [`v1.0.64`](https://redirect.github.com/dtolnay/thiserror/releases/tag/1.0.64) [Compare Source](https://redirect.github.com/dtolnay/thiserror/compare/1.0.63...1.0.64) - Exclude derived impls from coverage instrumentation ([#&#8203;322](https://redirect.github.com/dtolnay/thiserror/issues/322), thanks [@&#8203;oxalica](https://redirect.github.com/oxalica)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 5am on the first day of the month" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **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/rust-lang/cargo). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS44NS4wIiwidXBkYXRlZEluVmVyIjoiMzkuODUuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->
2 parents fbca21b + 13af53a commit f30f452

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

Cargo.lock

+5-5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ supports-unicode = "3.0.0"
102102
snapbox = { version = "0.6.20", features = ["diff", "dir", "term-svg", "regex", "json"] }
103103
tar = { version = "0.4.42", default-features = false }
104104
tempfile = "3.10.1"
105-
thiserror = "1.0.63"
105+
thiserror = "2.0.0"
106106
time = { version = "0.3.36", features = ["parsing", "formatting", "serde"] }
107107
toml = "0.8.19"
108108
toml_edit = { version = "0.22.20", features = ["serde"] }

0 commit comments

Comments
 (0)