Attribute Macro error_doc

Source
#[error_doc]
Expand description

This macro automatically generates missing documents for error variants from error messages.

ยงExample

#[error_doc::error_doc]
#[derive(thiserror::Error, Debug)]
pub enum SomeError {
    #[error("failed to open config file")]
    OpenFile(#[from] std::io::Error),
    #[error(transparent)]
    #[doc = "Database error"]
    Database(#[from] sqlx::Error),
    #[error("unexpected value: `{0}`")]
    #[doc = "Unexpected value is provided"]
    UnexpectedValue(u16),
    #[error("some other error")]
    Other,
}

generates

#[error_doc::error_doc]
#[derive(thiserror::Error, Debug)]
pub enum SomeError {
    #[error("failed to open config file")]
    #[doc = "Failed to open config file"]
    OpenFile(#[from] std::io::Error),
    #[error(transparent)]
    #[doc = "Database error"]
    Database(#[from] sqlx::Error),
    #[error("unexpected value: `{0}`")]
    #[doc = "Unexpected value is provided"]
    UnexpectedValue(u16),
    #[error("some other error")]
    #[doc = "Some other error"]
    Other,
}