Struct 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: SyntaxContextExpand description
Information about where the macro came from, if this piece of code was created by a macro expansion.
Implementations
impl SpanData[src]
impl SpanData[src]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<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