Struct rustc_ap_rustc_span::SpanData [−][src]
pub struct SpanData {
pub lo: BytePos,
pub hi: BytePos,
pub ctxt: SyntaxContext,
}Expand description
Represents a span.
Spans represent a region of code, used for error reporting. Positions in spans
are absolute positions from the beginning of the SourceMap, not positions
relative to SourceFiles. Methods on the SourceMap can be used to relate spans back
to the original source.
You must be careful if the span crosses more than one file, since you will not be
able to use many of the functions on spans in source_map and you cannot assume
that the length of the span is equal to span.hi - span.lo; there may be space in the
BytePos range between files.
SpanData is public because Span uses a thread-local interner and can’t be
sent to other threads, but some pieces of performance infra run in a separate thread.
Using Span is generally preferred.
Fields
lo: BytePoshi: BytePosctxt: SyntaxContextInformation about where the macro came from, if this piece of code was created by a macro expansion.
Implementations
Trait Implementations
impl Ord for SpanData[src]
impl Ord for SpanData[src]impl PartialOrd<SpanData> for SpanData[src]
impl PartialOrd<SpanData> for SpanData[src]fn partial_cmp(&self, other: &SpanData) -> Option<Ordering>[src]
fn partial_cmp(&self, other: &SpanData) -> Option<Ordering>[src]This method returns an ordering between self and other values if one exists. Read more
#[must_use]fn lt(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool1.0.0[src]This method tests less than (for self and other) and is used by the < operator. Read more
#[must_use]fn le(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool1.0.0[src]This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
impl Copy for SpanData[src]
impl Eq for SpanData[src]
impl StructuralEq for SpanData[src]
impl StructuralPartialEq for SpanData[src]
Auto Trait Implementations
impl RefUnwindSafe for SpanData
impl Send for SpanData
impl Sync for SpanData
impl Unpin for SpanData
impl UnwindSafe for SpanData
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized, [src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized, [src]pub fn equivalent(&self, key: &K) -> bool[src]
pub fn equivalent(&self, key: &K) -> bool[src]Compare self to key and return true if they are equal.
impl<T> Instrument for T[src]
impl<T> Instrument for T[src]fn instrument(self, span: Span) -> Instrumented<Self>[src]
fn instrument(self, span: Span) -> Instrumented<Self>[src]Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>[src]
fn in_current_span(self) -> Instrumented<Self>[src]impl<T> Same<T> for T
impl<T> Same<T> for Ttype Output = T
type Output = TShould always be Self
impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>, pub fn vzip(self) -> V
impl<'a, T> Captures<'a> for T where
T: ?Sized, [src]
T: ?Sized,