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

pub enum NamedMatch {
    MatchedSeq(Vec<Rc<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

MatchedSeq(Vec<Rc<NamedMatch>>, Span)MatchedNonterminal(Rc<Nonterminal>)

Auto Trait Implementations

Blanket Implementations

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

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

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.

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.

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

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

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