diff options
Diffstat (limited to 'vendor/miette/src/eyreish/fmt.rs')
-rw-r--r-- | vendor/miette/src/eyreish/fmt.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/vendor/miette/src/eyreish/fmt.rs b/vendor/miette/src/eyreish/fmt.rs new file mode 100644 index 0000000..9e385d1 --- /dev/null +++ b/vendor/miette/src/eyreish/fmt.rs @@ -0,0 +1,20 @@ +use super::{error::ErrorImpl, ptr::Ref}; +use core::fmt; + +impl ErrorImpl<()> { + pub(crate) unsafe fn display(this: Ref<'_, Self>, f: &mut fmt::Formatter<'_>) -> fmt::Result { + this.deref() + .handler + .as_ref() + .map(|handler| handler.display(Self::error(this), f)) + .unwrap_or_else(|| core::fmt::Display::fmt(Self::diagnostic(this), f)) + } + + pub(crate) unsafe fn debug(this: Ref<'_, Self>, f: &mut fmt::Formatter<'_>) -> fmt::Result { + this.deref() + .handler + .as_ref() + .map(|handler| handler.debug(Self::diagnostic(this), f)) + .unwrap_or_else(|| core::fmt::Debug::fmt(Self::diagnostic(this), f)) + } +} |