Enum syntax::ext::tt::macro_parser::NamedMatch[][src]

pub enum NamedMatch {
    MatchedSeq(Rc<Vec<NamedMatch>>, Span),
    MatchedNonterminal(Rc<Nonterminal>),
}

NamedMatch is a pattern-match result for a single token::MATCH_NONTERMINAL: so it is associated with a single ident in a parse, and all MatchedNonterminals in the NamedMatch have the same nonterminal type (expr, item, etc). Each leaf in a single NamedMatch corresponds to a single token::MATCH_NONTERMINAL in the TokenTree that produced it.

The in-memory structure of a particular NamedMatch represents the match that occurred when a particular subset of a matcher was applied to a particular token tree.

The width of each MatchedSeq in the NamedMatch, and the identity of the MatchedNonterminals, will depend on the token tree it was applied to: each MatchedSeq corresponds to a single TTSeq in the originating token tree. The depth of the NamedMatch structure will therefore depend only on the nesting depth of ast::TTSeqs in the originating token tree it was derived from.

Variants

Trait Implementations

impl Debug for NamedMatch
[src]

Formats the value using the given formatter. Read more

impl Clone for NamedMatch
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl !Send for NamedMatch

impl !Sync for NamedMatch