struct DiagnosticSpan {Show 13 fields
file_name: String,
byte_start: u32,
byte_end: u32,
line_start: usize,
line_end: usize,
column_start: usize,
column_end: usize,
is_primary: bool,
text: Vec<DiagnosticSpanLine>,
label: Option<String>,
suggested_replacement: Option<String>,
suggestion_applicability: Option<Applicability>,
expansion: Option<Box<DiagnosticSpanMacroExpansion>>,
}
Fields§
§file_name: String
§byte_start: u32
§byte_end: u32
§line_start: usize
1-based.
line_end: usize
§column_start: usize
1-based, character offset.
column_end: usize
§is_primary: bool
Is this a “primary” span – meaning the point, or one of the points, where the error occurred?
text: Vec<DiagnosticSpanLine>
Source text from the start of line_start to the end of line_end.
label: Option<String>
Label that should be placed at this location (if any)
suggested_replacement: Option<String>
If we are suggesting a replacement, this will contain text that should be sliced in atop this span.
suggestion_applicability: Option<Applicability>
If the suggestion is approximate
expansion: Option<Box<DiagnosticSpanMacroExpansion>>
Macro invocations that created the code at this span, if any.
Implementations§
Source§impl DiagnosticSpan
impl DiagnosticSpan
fn from_span_label( span: SpanLabel, suggestion: Option<(&String, Applicability)>, args: &FluentArgs<'_>, je: &JsonEmitter, ) -> DiagnosticSpan
fn from_span_etc( span: Span, is_primary: bool, label: Option<String>, suggestion: Option<(&String, Applicability)>, je: &JsonEmitter, ) -> DiagnosticSpan
fn from_span_full( span: Span, is_primary: bool, label: Option<String>, suggestion: Option<(&String, Applicability)>, backtrace: impl Iterator<Item = ExpnData>, je: &JsonEmitter, ) -> DiagnosticSpan
fn from_multispan( msp: &MultiSpan, args: &FluentArgs<'_>, je: &JsonEmitter, ) -> Vec<DiagnosticSpan>
fn from_suggestion( suggestion: &CodeSuggestion, args: &FluentArgs<'_>, je: &JsonEmitter, ) -> Vec<DiagnosticSpan>
Trait Implementations§
Auto Trait Implementations§
impl DynSend for DiagnosticSpan
impl DynSync for DiagnosticSpan
impl Freeze for DiagnosticSpan
impl RefUnwindSafe for DiagnosticSpan
impl Send for DiagnosticSpan
impl Sync for DiagnosticSpan
impl Unpin for DiagnosticSpan
impl UnwindSafe for DiagnosticSpan
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
§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
Source§impl<T> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(_: DataRequest<'_>) -> bool>
Creates a filterable data provider with the given name for debugging. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
§impl<I, T> UpcastFrom<I, T> for T
impl<I, T> UpcastFrom<I, T> for T
fn upcast_from(from: T, _tcx: I) -> T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 152 bytes