pub struct Diagnostic {
pub what: String,
pub why: Option<String>,
pub hint: Option<String>,
}Expand description
Structured error with optional Why and Hint fields.
Agents and humans can both recover faster when an error says what went wrong, why it happened, and what to do next.
Fields§
§what: String§why: Option<String>§hint: Option<String>Implementations§
Source§impl Diagnostic
impl Diagnostic
Sourcepub fn from_error(err: &Error) -> Self
pub fn from_error(err: &Error) -> Self
Create a diagnostic from an anyhow::Error, attaching context-specific
Why / Hint when the message matches a known pattern.
Auto Trait Implementations§
impl Freeze for Diagnostic
impl RefUnwindSafe for Diagnostic
impl Send for Diagnostic
impl Sync for Diagnostic
impl Unpin for Diagnostic
impl UnsafeUnpin for Diagnostic
impl UnwindSafe for Diagnostic
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more