diff options
author | Valentin Popov <valentin@popov.link> | 2024-07-19 15:37:58 +0300 |
---|---|---|
committer | Valentin Popov <valentin@popov.link> | 2024-07-19 15:37:58 +0300 |
commit | a990de90fe41456a23e58bd087d2f107d321f3a1 (patch) | |
tree | 15afc392522a9e85dc3332235e311b7d39352ea9 /vendor/miette/src/eyreish/into_diagnostic.rs | |
parent | 3d48cd3f81164bbfc1a755dc1d4a9a02f98c8ddd (diff) | |
download | fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.tar.xz fparkan-a990de90fe41456a23e58bd087d2f107d321f3a1.zip |
Deleted vendor folder
Diffstat (limited to 'vendor/miette/src/eyreish/into_diagnostic.rs')
-rw-r--r-- | vendor/miette/src/eyreish/into_diagnostic.rs | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/vendor/miette/src/eyreish/into_diagnostic.rs b/vendor/miette/src/eyreish/into_diagnostic.rs deleted file mode 100644 index 6480013..0000000 --- a/vendor/miette/src/eyreish/into_diagnostic.rs +++ /dev/null @@ -1,33 +0,0 @@ -use thiserror::Error; - -use crate::{Diagnostic, Report}; - -/// Convenience [`Diagnostic`] that can be used as an "anonymous" wrapper for -/// Errors. This is intended to be paired with [`IntoDiagnostic`]. -#[derive(Debug, Error)] -#[error(transparent)] -struct DiagnosticError(Box<dyn std::error::Error + Send + Sync + 'static>); -impl Diagnostic for DiagnosticError {} - -/** -Convenience trait that adds a [`.into_diagnostic()`](IntoDiagnostic::into_diagnostic) method that converts a type implementing -[`std::error::Error`] to a [`Result<T, Report>`]. - -## Warning - -Calling this on a type implementing [`Diagnostic`] will reduce it to the common denominator of -[`std::error::Error`]. Meaning all extra information provided by [`Diagnostic`] will be -inaccessible. If you have a type implementing [`Diagnostic`] consider simply returning it or using -[`Into`] or the [`Try`](std::ops::Try) operator (`?`). -*/ -pub trait IntoDiagnostic<T, E> { - /// Converts [`Result`] types that return regular [`std::error::Error`]s - /// into a [`Result`] that returns a [`Diagnostic`]. - fn into_diagnostic(self) -> Result<T, Report>; -} - -impl<T, E: std::error::Error + Send + Sync + 'static> IntoDiagnostic<T, E> for Result<T, E> { - fn into_diagnostic(self) -> Result<T, Report> { - self.map_err(|e| DiagnosticError(Box::new(e)).into()) - } -} |