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]

impl !Sync for Span
[src]

impl !Send for Span
[src]

impl Clone for Span
[src]

Performs copy-assignment from source. Read more

impl Copy for Span
[src]

impl Debug for Span
[src]

Prints a span in a form convenient for debugging.

Blanket Implementations

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

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

impl<T> From for T
[src]

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.

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

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

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.

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