dtolnay/thiserror (thiserror)
### [`v1.0.59`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.59)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.58...1.0.59)
- Unblock testing of rustc `debug-fmt-detail` option ([#297](https://togithub.com/dtolnay/thiserror/issues/297))
### [`v1.0.58`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.58)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.57...1.0.58)
- Make backtrace support available when using -Dwarnings ([#292](https://togithub.com/dtolnay/thiserror/issues/292))
### [`v1.0.57`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.57)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.56...1.0.57)
- Generate more efficient `Display` impl for error message which do not contain any interpolated value ([#286](https://togithub.com/dtolnay/thiserror/issues/286), thanks [@nyurik](https://togithub.com/nyurik))
### [`v1.0.56`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.56)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.55...1.0.56)
- Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache
### [`v1.0.55`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.55)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.54...1.0.55)
- Work around improperly cached build script result by sccache β second attempt ([#280](https://togithub.com/dtolnay/thiserror/issues/280))
### [`v1.0.54`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.54)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.53...1.0.54)
- Work around improperly cached build script result by sccache β first attempt ([#279](https://togithub.com/dtolnay/thiserror/issues/279))
### [`v1.0.53`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.53)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.52...1.0.53)
- Reduce spurious rebuilds under RustRover IDE when using a nightly toolchain ([#270](https://togithub.com/dtolnay/thiserror/issues/270))
### [`v1.0.52`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.52)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.51...1.0.52)
- Fix interaction with RUSTC_BOOTSTRAP ([#269](https://togithub.com/dtolnay/thiserror/issues/269))
### [`v1.0.51`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.51)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.50...1.0.51)
- Improve diagnostics when an invalid attribute previously caused thiserror to generate no `Error` impl ([#266](https://togithub.com/dtolnay/thiserror/issues/266))
### [`v1.0.50`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.50)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.49...1.0.50)
- Improve diagnostic when a #\[source], #\[from], or #\[transparant] attribute refers to a type that has no std::error::Error impl ([#258](https://togithub.com/dtolnay/thiserror/issues/258), thanks [@de-vri-es](https://togithub.com/de-vri-es))
### [`v1.0.49`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.49)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.48...1.0.49)
- Access libcore types through `::core` in generated code ([#255](https://togithub.com/dtolnay/thiserror/issues/255), thanks [@mina86](https://togithub.com/mina86))
### [`v1.0.48`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.48)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.47...1.0.48)
- Improve implementation of displaying Path values in a generated Display impl ([#251](https://togithub.com/dtolnay/thiserror/issues/251), thanks [@mina86](https://togithub.com/mina86))
### [`v1.0.47`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.47)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.46...1.0.47)
- Work around rust-analyzer bug ([https://github.com/rust-lang/rust-analyzer/issues/9911](https://togithub.com/rust-lang/rust-analyzer/issues/9911))
### [`v1.0.46`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.46)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.45...1.0.46)
- Add bootstrap workaround to allow rustc to depend on thiserror ([#248](https://togithub.com/dtolnay/thiserror/issues/248), thanks [@RalfJung](https://togithub.com/RalfJung))
### [`v1.0.45`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.45)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.44...1.0.45)
- Update backtrace support to nightly's new Error::provide API ([https://github.com/rust-lang/rust/pull/113464](https://togithub.com/rust-lang/rust/pull/113464), [#246](https://togithub.com/dtolnay/thiserror/issues/246))
### [`v1.0.44`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.44)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.43...1.0.44)
- Documentation improvements
### [`v1.0.43`](https://togithub.com/dtolnay/thiserror/compare/1.0.42...1.0.43)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.42...1.0.43)
### [`v1.0.42`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.42)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.41...1.0.42)
- Fix compile error in derived Display impl if there was a nonstandard `write!` macro in scope ([#239](https://togithub.com/dtolnay/thiserror/issues/239))
### [`v1.0.41`](https://togithub.com/dtolnay/thiserror/compare/1.0.40...1.0.41)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.40...1.0.41)
### [`v1.0.40`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.40)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.39...1.0.40)
- Update syn dependency to 2.x
### [`v1.0.39`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.39)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.38...1.0.39)
- Set html_root_url attribute
### [`v1.0.38`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.38)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.37...1.0.38)
- Documentation improvements
### [`v1.0.37`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.37)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.36...1.0.37)
- Documentation improvements
### [`v1.0.36`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.36)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.35...1.0.36)
- Documentation improvements ([#195](https://togithub.com/dtolnay/thiserror/issues/195), thanks [@matklad](https://togithub.com/matklad))
### [`v1.0.35`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.35)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.34...1.0.35)
- More work on integrating [std::any::Provider](https://doc.rust-lang.org/std/any/trait.Provider.html) for backtrace support
- Fix *"Multiple applicable `provide` methods in scope"* error when the caller has both std::error::Error and std::any::Provide traits in scope ([#185](https://togithub.com/dtolnay/thiserror/issues/185))
### [`v1.0.34`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.34)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.33...1.0.34)
- Tweak "generic member access" based Backtrace implementation ([#184](https://togithub.com/dtolnay/thiserror/issues/184))
### [`v1.0.33`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.33)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.32...1.0.33)
- Expose backtraces via the new "generic member access" API on the Error trait ([https://github.com/rust-lang/rust/issues/99301](https://togithub.com/rust-lang/rust/issues/99301), [https://github.com/rust-lang/rust/issues/96024](https://togithub.com/rust-lang/rust/issues/96024))
### [`v1.0.32`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.32)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.31...1.0.32)
- Add keywords to crates.io metadata
### [`v1.0.31`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.31)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.30...1.0.31)
- Improve diagnostic when there is an enum variant containing `#[from] #[backtrace] Error, Backtrace` ([#163](https://togithub.com/dtolnay/thiserror/issues/163))
### [`v1.0.30`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.30)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.29...1.0.30)
- Make `#[source]` attribute usable on a field of type `Box` ([#155](https://togithub.com/dtolnay/thiserror/issues/155), thanks [@cosmicexplorer](https://togithub.com/cosmicexplorer))
### [`v1.0.29`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.29)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.28...1.0.29)
- Support error types containing generic type parameters ([#148](https://togithub.com/dtolnay/thiserror/issues/148), [#149](https://togithub.com/dtolnay/thiserror/issues/149), [#150](https://togithub.com/dtolnay/thiserror/issues/150), [#151](https://togithub.com/dtolnay/thiserror/issues/151))
```rust
use thiserror::Error;
#[derive(Error, Debug)]
pub enum MyError {
#[error("thing {0} ({0:?})")]
Variant(E),
#[error("some error")]
Delegate(#[source] SomeError),
#[error("err 0o{val:o}")]
Octal { val: G },
}
```
In the above example, thiserror would automatically generate the following pair of generic trait impls.
```rust
impl std::error::Error for MyError
where
SomeError: std::error::Error + 'static,
Self: std::fmt::Debug + std::fmt::Display;
impl std::fmt::Display for MyError
where
E: std::fmt::Debug + std::fmt::Display,
G: std::fmt::Octal;
```
### [`v1.0.28`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.28)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.27...1.0.28)
- Make `?` work with error types that hold an optional source ([#147](https://togithub.com/dtolnay/thiserror/issues/147))
### [`v1.0.27`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.27)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.26...1.0.27)
- Support forwarding backtrace method to source's backtrace method ([#137](https://togithub.com/dtolnay/thiserror/issues/137), [#146](https://togithub.com/dtolnay/thiserror/issues/146), thanks [@astraw](https://togithub.com/astraw))
### [`v1.0.26`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.26)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.25...1.0.26)
- Work around bug in Clippy nonstandard_macro_braces lint ([https://github.com/rust-lang/rust-clippy/issues/7422](https://togithub.com/rust-lang/rust-clippy/issues/7422), [`245e7cf`](https://togithub.com/dtolnay/thiserror/commit/245e7cfd149140806ecef89d44b14e9557b297b1))
### [`v1.0.25`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.25)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.24...1.0.25)
- Support `error(transparent)` on errors containing a non-`'static` inner error ([#113](https://togithub.com/dtolnay/thiserror/issues/113))
### [`v1.0.24`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.24)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.23...1.0.24)
- Hygiene fixes in generated `source` method of error types originating inside of a macro definition to unblock [https://github.com/rust-lang/rust/pull/80689#issuecomment-781493634](https://togithub.com/rust-lang/rust/pull/80689#issuecomment-781493634) ([#121](https://togithub.com/dtolnay/thiserror/issues/121), thanks [@Aaron1011](https://togithub.com/Aaron1011))
### [`v1.0.23`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.23)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.22...1.0.23)
- Better diagnostic when putting non-static lifetimes into the source type of an error ([#115](https://togithub.com/dtolnay/thiserror/issues/115), [#116](https://togithub.com/dtolnay/thiserror/issues/116))
### [`v1.0.22`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.22)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.21...1.0.22)
- Fix raw identifier fields in format arguments ([#108](https://togithub.com/dtolnay/thiserror/issues/108), thanks [@ninevra](https://togithub.com/ninevra))
```rust
#[derive(Error, Debug)]
#[error("raw identifier: {r#type}")]
pub struct Error {
r#type: i32,
}
```
- Fix Rust keyword named format arguments ([#109](https://togithub.com/dtolnay/thiserror/issues/109))
```rust
#[derive(Error, Debug)]
#[error("keyword: {type}", type = 1)]
pub struct Error;
```
### [`v1.0.21`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.21)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.20...1.0.21)
- Support capturing backtraces inside of Arc from a From impl, which makes it possible for errors having backtraces to be clonable ([#102](https://togithub.com/dtolnay/thiserror/issues/102))
```rust
use std::backtrace::Backtrace;
use std::sync::Arc;
use thiserror::Error;
#[derive(Error, Debug, Clone)]
#[error("...")]
pub struct ClonableErrorWithBacktrace {
#[from]
source: Inner,
#[backtrace]
backtrace: Arc,
}
```
### [`v1.0.20`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.20)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.19...1.0.20)
- Resolve unused_qualifications lint in generated code ([#91](https://togithub.com/dtolnay/thiserror/issues/91))
### [`v1.0.19`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.19)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.18...1.0.19)
- Avoid triggering `used_underscore_binding` pedantic Clippy lint in generated code of #\[error(transparent)] attribute ([#88](https://togithub.com/dtolnay/thiserror/issues/88))
### [`v1.0.18`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.18)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.17...1.0.18)
- Fix compiler error in some cases when derive(Error) is invoked from inside of a macro_rules macro ([#86](https://togithub.com/dtolnay/thiserror/issues/86))
### [`v1.0.17`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.17)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.16...1.0.17)
- Documentation improvements
### [`v1.0.16`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.16)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.15...1.0.16)
- Catch misplaced #\[error(transparent)] attributes ([#80](https://togithub.com/dtolnay/thiserror/issues/80), [#81](https://togithub.com/dtolnay/thiserror/issues/81))
### [`v1.0.15`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.15)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.14...1.0.15)
- Improve error message when an error type is missing a Display impl ([#75](https://togithub.com/dtolnay/thiserror/issues/75))
### [`v1.0.14`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.14)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.13...1.0.14)
- Avoid triggering deprecation warnings when an error enum has deprecated variants
### [`v1.0.13`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.13)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.12...1.0.13)
- Fix failure to compile Display impl if a format string contained more than 1 named interpolated variable and a trailing comma, as in `#[error("{v1} {v2}",)]`
### [`v1.0.12`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.12)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.11...1.0.12)
- Produce a better error message if a #\[source] or #\[from] field contains a non-'static lifetime ([#68](https://togithub.com/dtolnay/thiserror/issues/68))
### [`v1.0.11`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.11)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.10...1.0.11)
- Ship license files in thiserror-impl subcrate also ([#63](https://togithub.com/dtolnay/thiserror/issues/63))
### [`v1.0.10`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.10)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.9...1.0.10)
- Improve parsing of `.0` and `.var`-style format arguments ([#54](https://togithub.com/dtolnay/thiserror/issues/54))
For example the one here as the argument to the `match` expression would now be recognized correctly:
```rust
#[derive(Error, Debug)]
pub enum MyError {
#[error("{}: {0}", match .1 {
Some(n) => format!("a variant error occurred with n={}", n),
None => format!("there was an empty variant error"),
})]
Variant(String, Option),
}
```
### [`v1.0.9`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.9)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.8...1.0.9)
- Fix bug affecting display attributes of the form `#[error("{}", some_expression)]` (where the format string is `"{}"` and nothing else, and the value formatted is not just one of the fields from the error) [#53](https://togithub.com/dtolnay/thiserror/issues/53)
### [`v1.0.8`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.8)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.7...1.0.8)
- Documentation improvements
### [`v1.0.7`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.7)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.6...1.0.7)
- Support mixing shorthand and non-shorthand format args ([#47](https://togithub.com/dtolnay/thiserror/issues/47))
```rust
#[derive(Error, Debug)]
pub enum Error {
#[error("first letter must be lowercase but was {:?}", first_char(.0))]
WrongCase(String),
#[error("invalid index {idx}, expected at least {} and at most {}", .limits.lo, .limits.hi)]
OutOfBounds { idx: usize, limits: Limits },
}
```
- Add #\[error(transparent)] attribute for delegating Error impl to one field ([#50](https://togithub.com/dtolnay/thiserror/issues/50))
This is useful for hiding error variants from a library's public error type:
```rust
#[derive(Error, Debug)]
#[error(transparent)] // source and Display delegate to ErrorKind
pub struct Error(ErrorKind);
#[derive(Error, Debug)]
/*private*/ enum ErrorKind {
#[error("...")]
E0,
#[error("...")]
E1(#[source] io::Error),
}
```
And also for enums that need an "anything else" variant; such variants tend not to have their own Display message but just forward through to the underlying error's Display and source:
```rust
#[derive(Error, Debug)]
pub enum MyError {
...
#[error(transparent)]
Other(#[from] anyhow::Error), // source and Display delegate to anyhow::Error
}
```
### [`v1.0.6`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.6)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.5...1.0.6)
- Support Box\ as a #\[source] ([#41](https://togithub.com/dtolnay/thiserror/issues/41), thanks [@mathstuf](https://togithub.com/mathstuf))
### [`v1.0.5`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.5)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.4...1.0.5)
- Support interpolating `Path` and `PathBuf` fields as if they had a Display impl
```rust
use std::io;
use std::path::PathBuf;
use thiserror::Error;
#[derive(Error, Debug)]
pub enum Error {
#[error("failed to load {1}")]
Read(#[source] io::Error, PathBuf),
}
```
In previous releases this would fail to compile with:
```console
error[E0277]: `std::path::PathBuf` doesn't implement `std::fmt::Display`
--> src/main.rs:7:13
|
7 | #[error("failed to load {1}")]
| ^^^^^^^^^^^^^^^^^^^^ `std::path::PathBuf` cannot be formatted with the default formatter
```
### [`v1.0.4`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.4)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.3...1.0.4)
- Avoid generated variable name collision with an enum member named `formatter` ([#36](https://togithub.com/dtolnay/thiserror/issues/36), thanks [@mathstuf](https://togithub.com/mathstuf))
### [`v1.0.3`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.3)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.2...1.0.3)
- Fix `#[error("{v0}")]` where an interpolated identifier contains number digits ([#34](https://togithub.com/dtolnay/thiserror/issues/34))
### [`v1.0.2`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.2)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.1...1.0.2)
- Add a `#[from]` attribute to request an implementation of `std::convert::From` from your error's source error types, making it easy to build your error via the `?` operator.
```rust
use thiserror::Error;
#[derive(Error, Debug)]
pub enum Error {
Io(#[from] io::Error),
Json(#[from] serde_json::Error),
Regex(#[from] regex::Error),
Other(#[from] anyhow::Error),
}
```
We only permit `From` to be derived from the error's source field, not any arbitrary other field. Notice that this allows `#[from]` to imply `#[source]` so you don't need to also specify `#[source]` explicitly.
The variant must not contain any other fields beyond the source error and possibly a backtrace. A backtrace is captured from within the `From` impl if there is a field for it.
```rust
#[derive(Error, Debug)]
pub enum MyError {
Io {
#[from]
source: io::Error,
backtrace: Backtrace,
},
}
```
- Named fields with the name `source` are assumed to be the error source and so no longer require an explicit `#[source]` attribute.
- Enum variants now inherit the `#[error(...)]` attribute from atop the enum if there is one.
```rust
use thiserror::Error;
#[derive(Error, Debug)]
#[error("{0}")] // applies to every variant without its own attr
pub enum Error {
Io(io::Error),
Json(serde_json::Error),
Regex(regex::Error),
#[error("unknown error")]
Unknown,
}
```
### [`v1.0.1`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.1)
[Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.0...1.0.1)
- Documentation improvements
Configuration
π Schedule: Branch creation - "after 10pm,before 5:00am" in timezone Europe/Zurich, 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 has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
1.0
->1.0.59
Release Notes
dtolnay/thiserror (thiserror)
### [`v1.0.59`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.59) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.58...1.0.59) - Unblock testing of rustc `debug-fmt-detail` option ([#297](https://togithub.com/dtolnay/thiserror/issues/297)) ### [`v1.0.58`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.58) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.57...1.0.58) - Make backtrace support available when using -Dwarnings ([#292](https://togithub.com/dtolnay/thiserror/issues/292)) ### [`v1.0.57`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.57) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.56...1.0.57) - Generate more efficient `Display` impl for error message which do not contain any interpolated value ([#286](https://togithub.com/dtolnay/thiserror/issues/286), thanks [@nyurik](https://togithub.com/nyurik)) ### [`v1.0.56`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.56) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.55...1.0.56) - Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache ### [`v1.0.55`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.55) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.54...1.0.55) - Work around improperly cached build script result by sccache β second attempt ([#280](https://togithub.com/dtolnay/thiserror/issues/280)) ### [`v1.0.54`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.54) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.53...1.0.54) - Work around improperly cached build script result by sccache β first attempt ([#279](https://togithub.com/dtolnay/thiserror/issues/279)) ### [`v1.0.53`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.53) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.52...1.0.53) - Reduce spurious rebuilds under RustRover IDE when using a nightly toolchain ([#270](https://togithub.com/dtolnay/thiserror/issues/270)) ### [`v1.0.52`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.52) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.51...1.0.52) - Fix interaction with RUSTC_BOOTSTRAP ([#269](https://togithub.com/dtolnay/thiserror/issues/269)) ### [`v1.0.51`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.51) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.50...1.0.51) - Improve diagnostics when an invalid attribute previously caused thiserror to generate no `Error` impl ([#266](https://togithub.com/dtolnay/thiserror/issues/266)) ### [`v1.0.50`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.50) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.49...1.0.50) - Improve diagnostic when a #\[source], #\[from], or #\[transparant] attribute refers to a type that has no std::error::Error impl ([#258](https://togithub.com/dtolnay/thiserror/issues/258), thanks [@de-vri-es](https://togithub.com/de-vri-es)) ### [`v1.0.49`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.49) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.48...1.0.49) - Access libcore types through `::core` in generated code ([#255](https://togithub.com/dtolnay/thiserror/issues/255), thanks [@mina86](https://togithub.com/mina86)) ### [`v1.0.48`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.48) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.47...1.0.48) - Improve implementation of displaying Path values in a generated Display impl ([#251](https://togithub.com/dtolnay/thiserror/issues/251), thanks [@mina86](https://togithub.com/mina86)) ### [`v1.0.47`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.47) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.46...1.0.47) - Work around rust-analyzer bug ([https://github.com/rust-lang/rust-analyzer/issues/9911](https://togithub.com/rust-lang/rust-analyzer/issues/9911)) ### [`v1.0.46`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.46) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.45...1.0.46) - Add bootstrap workaround to allow rustc to depend on thiserror ([#248](https://togithub.com/dtolnay/thiserror/issues/248), thanks [@RalfJung](https://togithub.com/RalfJung)) ### [`v1.0.45`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.45) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.44...1.0.45) - Update backtrace support to nightly's new Error::provide API ([https://github.com/rust-lang/rust/pull/113464](https://togithub.com/rust-lang/rust/pull/113464), [#246](https://togithub.com/dtolnay/thiserror/issues/246)) ### [`v1.0.44`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.44) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.43...1.0.44) - Documentation improvements ### [`v1.0.43`](https://togithub.com/dtolnay/thiserror/compare/1.0.42...1.0.43) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.42...1.0.43) ### [`v1.0.42`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.42) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.41...1.0.42) - Fix compile error in derived Display impl if there was a nonstandard `write!` macro in scope ([#239](https://togithub.com/dtolnay/thiserror/issues/239)) ### [`v1.0.41`](https://togithub.com/dtolnay/thiserror/compare/1.0.40...1.0.41) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.40...1.0.41) ### [`v1.0.40`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.40) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.39...1.0.40) - Update syn dependency to 2.x ### [`v1.0.39`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.39) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.38...1.0.39) - Set html_root_url attribute ### [`v1.0.38`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.38) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.37...1.0.38) - Documentation improvements ### [`v1.0.37`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.37) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.36...1.0.37) - Documentation improvements ### [`v1.0.36`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.36) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.35...1.0.36) - Documentation improvements ([#195](https://togithub.com/dtolnay/thiserror/issues/195), thanks [@matklad](https://togithub.com/matklad)) ### [`v1.0.35`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.35) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.34...1.0.35) - More work on integrating [std::any::Provider](https://doc.rust-lang.org/std/any/trait.Provider.html) for backtrace support - Fix *"Multiple applicable `provide` methods in scope"* error when the caller has both std::error::Error and std::any::Provide traits in scope ([#185](https://togithub.com/dtolnay/thiserror/issues/185)) ### [`v1.0.34`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.34) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.33...1.0.34) - Tweak "generic member access" based Backtrace implementation ([#184](https://togithub.com/dtolnay/thiserror/issues/184)) ### [`v1.0.33`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.33) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.32...1.0.33) - Expose backtraces via the new "generic member access" API on the Error trait ([https://github.com/rust-lang/rust/issues/99301](https://togithub.com/rust-lang/rust/issues/99301), [https://github.com/rust-lang/rust/issues/96024](https://togithub.com/rust-lang/rust/issues/96024)) ### [`v1.0.32`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.32) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.31...1.0.32) - Add keywords to crates.io metadata ### [`v1.0.31`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.31) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.30...1.0.31) - Improve diagnostic when there is an enum variant containing `#[from] #[backtrace] Error, Backtrace` ([#163](https://togithub.com/dtolnay/thiserror/issues/163)) ### [`v1.0.30`](https://togithub.com/dtolnay/thiserror/releases/tag/1.0.30) [Compare Source](https://togithub.com/dtolnay/thiserror/compare/1.0.29...1.0.30) - Make `#[source]` attribute usable on a field of type `BoxConfiguration
π Schedule: Branch creation - "after 10pm,before 5:00am" in timezone Europe/Zurich, 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.
This PR has been generated by Mend Renovate. View repository job log here.