Skip to content

Conversation

@alexcrichton
Copy link
Member

This commit removes duplication in error messages where the same text
would show up multiple times in a fully rendered error message.

When using derive(Error) when the #[from] attribute is used there's
no need to also render that payload into the error string because the
#[from] establishes a "backtrace" which means that when the full
context of an error is rendered it will include the #[from] in the
lower frames of the backtrace anyway.

This commit audits the derive(Error) implementations to avoid
duplication in the rendered error messages, ensuring that if #[from]
is used then the #[from] field isn't also rendered in the textual
description.

This commit removes duplication in error messages where the same text
would show up multiple times in a fully rendered error message.

When using `derive(Error)` when the `#[from]` attribute is used there's
no need to also render that payload into the error string because the
`#[from]` establishes a "backtrace" which means that when the full
context of an error is rendered it will include the `#[from]` in the
lower frames of the backtrace anyway.

This commit audits the `derive(Error)` implementations to avoid
duplication in the rendered error messages, ensuring that if `#[from]`
is used then the `#[from]` field isn't also rendered in the textual
description.
Don't just search the top error, but search the whole backtrace by using
the `{:?}` format instead of `{}`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants