pub struct WithSpan<E> {
inner: E,
spans: Vec<SpanContext>,
}
Expand description
Wrapper class for Error
, augmenting it with a list of SpanContext
s.
Fields§
§inner: E
§spans: Vec<SpanContext>
Implementations§
source§impl<E> WithSpan<E>
impl<E> WithSpan<E>
sourcepub fn into_inner(self) -> E
pub fn into_inner(self) -> E
Reverse of Self::new
, discards span information and returns an inner error.
pub const fn as_inner(&self) -> &E
sourcepub fn spans(&self) -> impl ExactSizeIterator<Item = &SpanContext>
pub fn spans(&self) -> impl ExactSizeIterator<Item = &SpanContext>
Iterator over stored SpanContext
s.
sourcepub fn with_span<S>(self, span: Span, description: S) -> Selfwhere
S: ToString,
pub fn with_span<S>(self, span: Span, description: S) -> Selfwhere
S: ToString,
Add a new span with description.
sourcepub fn with_context(self, span_context: SpanContext) -> Self
pub fn with_context(self, span_context: SpanContext) -> Self
Add a SpanContext
.
sourcepub(crate) fn with_handle<T, A: SpanProvider<T>>(
self,
handle: Handle<T>,
arena: &A,
) -> Self
pub(crate) fn with_handle<T, A: SpanProvider<T>>( self, handle: Handle<T>, arena: &A, ) -> Self
Add a Handle
from either Arena
or UniqueArena
, borrowing its span information from there
and annotating with a type and the handle representation.
sourcepub fn into_other<E2>(self) -> WithSpan<E2>where
E2: From<E>,
pub fn into_other<E2>(self) -> WithSpan<E2>where
E2: From<E>,
Convert inner error using From
.
sourcepub fn and_then<F, E2>(self, func: F) -> WithSpan<E2>
pub fn and_then<F, E2>(self, func: F) -> WithSpan<E2>
Convert inner error into another type. Joins span information contained in self
with what is returned from func
.
sourcepub fn location(&self, source: &str) -> Option<SourceLocation>
pub fn location(&self, source: &str) -> Option<SourceLocation>
Return a SourceLocation
for our first span, if we have one.
pub(crate) fn diagnostic(&self) -> Diagnostic<()>where
E: Error,
sourcepub fn emit_to_stderr(&self, source: &str)where
E: Error,
pub fn emit_to_stderr(&self, source: &str)where
E: Error,
Emits a summary of the error to standard error stream.
sourcepub fn emit_to_stderr_with_path(&self, source: &str, path: &str)where
E: Error,
pub fn emit_to_stderr_with_path(&self, source: &str, path: &str)where
E: Error,
Emits a summary of the error to standard error stream.
sourcepub fn emit_to_string(&self, source: &str) -> Stringwhere
E: Error,
pub fn emit_to_string(&self, source: &str) -> Stringwhere
E: Error,
Emits a summary of the error to a string.
Trait Implementations§
source§impl<E> Error for WithSpan<E>where
E: Error,
impl<E> Error for WithSpan<E>where
E: Error,
source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
source§impl From<WithSpan<ValidationError>> for PipelineConstantError
impl From<WithSpan<ValidationError>> for PipelineConstantError
source§fn from(source: WithSpan<ValidationError>) -> Self
fn from(source: WithSpan<ValidationError>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl<E> Freeze for WithSpan<E>where
E: Freeze,
impl<E> RefUnwindSafe for WithSpan<E>where
E: RefUnwindSafe,
impl<E> Send for WithSpan<E>where
E: Send,
impl<E> Sync for WithSpan<E>where
E: Sync,
impl<E> Unpin for WithSpan<E>where
E: Unpin,
impl<E> UnwindSafe for WithSpan<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