Struct syntax::codemap::ExpnInfoUnstable [-] [+] [src]

pub struct ExpnInfo {
    pub call_site: Span,
    pub callee: NameAndSpan,
}

Extra information for tracking macro expansion of spans

Fields

call_site

The location of the actual macro invocation, e.g. let x = foo!();

This may recursively refer to other macro invocations, e.g. if foo!() invoked bar!() internally, and there was an expression inside bar!; the call_site of the expression in the expansion would point to the bar! invocation; that call_site span would have its own ExpnInfo, with the call_site pointing to the foo! invocation.

callee

Information about the macro and its definition.

The callee of the inner expression in the call_site example would point to the macro_rules! bar { ... } and that of the bar!() invocation would point to the macro_rules! foo { ... }.

Trait Implementations

Derived Implementations

impl Debug for ExpnInfo

fn fmt(&self, __arg_0: &mut Formatter) -> Result

impl Hash for ExpnInfo

fn hash<__H: Hasher>(&self, __arg_0: &mut __H)

fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher