Skip to content

Warn about double-inclusion of error message #38

Open

Description

@alexcrichton

I recently cooked up bytecodealliance/wasmtime#532 which fixed a "double error message" getting printed for errors such as:

pub enum CompileError {
    #[error("WebAssembly translation error: {0}")]
    Wasm(#[from] WasmError),
}

It'd be great if this crate could somehow issue a diagnostic indicating that there's no need to include the {0} in the #[error] because it's already rendered in the final error via #[from]

Activity

  1. jyn514 commented on Nov 17, 2019

    @jyn514

    I was talking about this in Cranelift - thiserror includes the inner error for Debug output but not for Display. From my perspective this is a bug because I have no idea what actually went wrong in Display mode. Would it be possible to make the two implementions consistent? Either include the inner error in Display or do not include it in Debug

  2. alilleybrinker commented on May 26, 2020

    @alilleybrinker

    I’m interested in trying to implement this. Looks like it would make the most sense to check after expanding display shorthand in Struct::from_syn and Enum::from_syn. Looks like for now the ability to issue warnings from a proc macro is nightly only, so I suppose this would just be proof-of-concept until that’s stabilized.

  3. added a commit that references this issue on Sep 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions