1.29.0[][src]Struct proc_macro::Span

pub struct Span(_);

A region of source code, along with macro expansion information.

Methods

impl Span
[src]

🔬 This is a nightly-only experimental API. (proc_macro_def_site #54724)

A span that resolves at the macro definition site.

The span of the invocation of the current procedural macro. Identifiers created with this span will be resolved as if they were written directly at the macro call location (call-site hygiene) and other code at the macro call site will be able to refer to them as well.

🔬 This is a nightly-only experimental API. (proc_macro_span #54725)

The original source file into which this span points.

🔬 This is a nightly-only experimental API. (proc_macro_span #54725)

The Span for the tokens in the previous macro expansion from which self was generated from, if any.

🔬 This is a nightly-only experimental API. (proc_macro_span #54725)

The span for the origin source code that self was generated from. If this Span wasn't generated from other macro expansions then the return value is the same as *self.

🔬 This is a nightly-only experimental API. (proc_macro_span #54725)

Get the starting line/column in the source file for this span.

🔬 This is a nightly-only experimental API. (proc_macro_span #54725)

Get the ending line/column in the source file for this span.

🔬 This is a nightly-only experimental API. (proc_macro_span #54725)

Create a new span encompassing self and other.

Returns None if self and other are from different files.

🔬 This is a nightly-only experimental API. (proc_macro_span #54725)

Creates a new span with the same line/column information as self but that resolves symbols as though it were at other.

🔬 This is a nightly-only experimental API. (proc_macro_span #54725)

Creates a new span with the same name resolution behavior as self but with the line/column information of other.

🔬 This is a nightly-only experimental API. (proc_macro_span #54725)

Compares to spans to see if they're equal.

🔬 This is a nightly-only experimental API. (proc_macro_diagnostic #54140)

Create a new Diagnostic with the given message at the span self.

🔬 This is a nightly-only experimental API. (proc_macro_diagnostic #54140)

Create a new Diagnostic with the given message at the span self.

🔬 This is a nightly-only experimental API. (proc_macro_diagnostic #54140)

Create a new Diagnostic with the given message at the span self.

🔬 This is a nightly-only experimental API. (proc_macro_diagnostic #54140)

Create a new Diagnostic with the given message at the span self.

Trait Implementations

impl MultiSpan for Span
[src]

🔬 This is a nightly-only experimental API. (proc_macro_diagnostic #54140)

Converts self into a Vec<Span>.

impl Clone for Span
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Copy for Span
[src]

impl !Sync for Span
[src]

impl !Send for Span
[src]

impl Debug for Span
[src]

Prints a span in a form convenient for debugging.

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl !Send for Span

impl !Sync for Span

Blanket Implementations

impl<T> From for T
[src]

Performs the conversion.

impl<T, U> Into for T where
    U: From<T>, 
[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into #41263)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

🔬 This is a nightly-only experimental API. (try_from #33417)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from #33417)

Performs the conversion.

impl<T> Borrow for T where
    T: ?Sized
[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut for T where
    T: ?Sized
[src]

Mutably borrows from an owned value. Read more

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

🔬 This is a nightly-only experimental API. (try_from #33417)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from #33417)

Performs the conversion.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

🔬 This is a nightly-only experimental API. (get_type_id #27745)

this method will likely be replaced by an associated static

Gets the TypeId of self. Read more

impl<E> SpecializationError for E
[src]

🔬 This is a nightly-only experimental API. (rustc_private #27812)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Create an error for a missing method specialization. Defaults to panicking with type, trait & method names. S is the encoder/decoder state type, T is the type being encoded/decoded, and the arguments are the names of the trait and method that should've been overridden. Read more

impl<T> Erased for T
[src]

impl<T> Send for T where
    T: ?Sized
[src]

impl<T> Sync for T where
    T: ?Sized
[src]

impl<T> Erased for T