pub struct Report<E: AsRefError>(/* private fields */);Expand description
Report prints an error and all its sources.
Source messages will be cleaned using CleanedErrors to remove duplication
from errors that include their source’s message in their own message.
The debug implementation prints each error on a separate line, while the display
implementation prints all errors on one line separated by a colon.
Using alternate formatting ({:#}) is identical to the debug implementation.
The debug implementation is intended for cases where errors are debug printed,
for example returning an error from main or using expect on Result:
ⓘ
use error_report::Report;
fn func1() -> Result<(), std::io::Error> {
Err(std::io::Error::other("oh no!"))
}
fn main() -> Result<(), Report<impl std::error::Error>> {
func1()?;
Ok(())
}ⓘ
let i: i8 = 256.try_into().map_err(Report::from).expect("conversion error");Implementations§
Source§impl<E: AsRefError> Report<E>
impl<E: AsRefError> Report<E>
Trait Implementations§
Source§impl<E: AsRefError> Debug for Report<E>
impl<E: AsRefError> Debug for Report<E>
Source§impl<E: AsRefError> Display for Report<E>
impl<E: AsRefError> Display for Report<E>
Source§impl<E: AsRefError> From<E> for Report<E>
impl<E: AsRefError> From<E> for Report<E>
Auto Trait Implementations§
impl<E> Freeze for Report<E>where
E: Freeze,
impl<E> RefUnwindSafe for Report<E>where
E: RefUnwindSafe,
impl<E> Send for Report<E>where
E: Send,
impl<E> Sync for Report<E>where
E: Sync,
impl<E> Unpin for Report<E>where
E: Unpin,
impl<E> UnwindSafe for Report<E>where
E: UnwindSafe,
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