Trait ReportHandler

Source
pub trait ReportHandler:
    Any
    + Send
    + Sync {
    // Required method
    fn debug(
        &self,
        error: &dyn Diagnostic,
        f: &mut Formatter<'_>,
    ) -> Result<(), Error>;

    // Provided methods
    fn display(
        &self,
        error: &(dyn Error + 'static),
        f: &mut Formatter<'_>,
    ) -> Result<(), Error> { ... }
    fn track_caller(&mut self, location: &'static Location<'static>) { ... }
}
Expand description

Error Report Handler trait for customizing miette::Report

Required Methods§

Source

fn debug( &self, error: &dyn Diagnostic, f: &mut Formatter<'_>, ) -> Result<(), Error>

Define the report format

Used to override the report format of miette::Report

§Example
use indenter::indented;
use miette::{Diagnostic, ReportHandler};

pub struct Handler;

impl ReportHandler for Handler {
    fn debug(
        &self,
        error: &dyn Diagnostic,
        f: &mut core::fmt::Formatter<'_>,
    ) -> core::fmt::Result {
        use core::fmt::Write as _;

        if f.alternate() {
            return core::fmt::Debug::fmt(error, f);
        }

        write!(f, "{}", error)?;

        Ok(())
    }
}

Provided Methods§

Source

fn display( &self, error: &(dyn Error + 'static), f: &mut Formatter<'_>, ) -> Result<(), Error>

Override for the Display format

Source

fn track_caller(&mut self, location: &'static Location<'static>)

Store the location of the caller who constructed this error report

Implementations§

Source§

impl dyn ReportHandler

Source

pub fn is<T>(&self) -> bool
where T: ReportHandler,

Source

pub fn downcast_ref<T>(&self) -> Option<&T>
where T: ReportHandler,

Source

pub fn downcast_mut<T>(&mut self) -> Option<&mut T>
where T: ReportHandler,

Implementors§