Struct macrotk::Span[][src]

pub struct Span { /* fields omitted */ }
Expand description

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

Implementations

impl Span[src]

pub fn call_site() -> Span[src]

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.

pub fn mixed_site() -> Span[src]

The span located at the invocation of the procedural macro, but with local variables, labels, and $crate resolved at the definition site of the macro. This is the same hygiene behavior as macro_rules.

This function requires Rust 1.45 or later.

pub fn resolved_at(&self, other: Span) -> Span[src]

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

pub fn located_at(&self, other: Span) -> Span[src]

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

pub fn unwrap(self) -> Span[src]

Convert proc_macro2::Span to proc_macro::Span.

This method is available when building with a nightly compiler, or when building with rustc 1.29+ without semver exempt features.

Panics

Panics if called from outside of a procedural macro. Unlike proc_macro2::Span, the proc_macro::Span type can only exist within the context of a procedural macro invocation.

pub fn join(&self, other: Span) -> Option<Span>[src]

Create a new span encompassing self and other.

Returns None if self and other are from different files.

Warning: the underlying proc_macro::Span::join method is nightly-only. When called from within a procedural macro not using a nightly compiler, this method will always return None.

Trait Implementations

impl Clone for Span[src]

pub fn clone(&self) -> Span[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Span[src]

Prints a span in a form convenient for debugging.

pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>[src]

Formats the value using the given formatter. Read more

impl From<Span> for Span[src]

pub fn from(proc_span: Span) -> Span[src]

Performs the conversion.

impl Copy for Span[src]

Auto Trait Implementations

impl RefUnwindSafe for Span

impl !Send for Span

impl !Sync for Span

impl Unpin for Span

impl UnwindSafe for Span

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

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

pub fn span(&self) -> Span[src]

Returns a Span covering the complete contents of this syntax tree node, or Span::call_site() if this node is empty. Read more

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

type Owned = T

The resulting type after obtaining ownership.

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]

🔬 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<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.