Enum syn::Pat[][src]

pub enum Pat {
    Wild(PatWild),
    Ident(PatIdent),
    Struct(PatStruct),
    TupleStruct(PatTupleStruct),
    Path(PatPath),
    Tuple(PatTuple),
    Box(PatBox),
    Ref(PatRef),
    Lit(PatLit),
    Range(PatRange),
    Slice(PatSlice),
    Macro(PatMacro),
    Verbatim(PatVerbatim),
}
[]

A pattern in a local binding, function signature, match expression, or various other places.

This type is available if Syn is built with the "full" feature.

Syntax tree enum

This type is a syntax tree enum.

Variants

[]

A pattern that matches any value: _.

This type is available if Syn is built with the "full" feature.

[]

A pattern that binds a new variable: ref mut binding @ SUBPATTERN.

This type is available if Syn is built with the "full" feature.

[]

A struct or struct variant pattern: Variant { x, y, .. }.

This type is available if Syn is built with the "full" feature.

[]

A tuple struct or tuple variant pattern: Variant(x, y, .., z).

This type is available if Syn is built with the "full" feature.

[]

A path pattern like Color::Red, optionally qualified with a self-type.

Unquailfied path patterns can legally refer to variants, structs, constants or associated constants. Quailfied path patterns like <A>::B::C and <A as Trait>::B::C can only legally refer to associated constants.

This type is available if Syn is built with the "full" feature.

[]

A tuple pattern: (a, b).

This type is available if Syn is built with the "full" feature.

[]

A box pattern: box v.

This type is available if Syn is built with the "full" feature.

[]

A reference pattern: &mut (first, second).

This type is available if Syn is built with the "full" feature.

[]

A literal pattern: 0.

This holds an Expr rather than a Lit because negative numbers are represented as an Expr::Unary.

This type is available if Syn is built with the "full" feature.

[]

A range pattern: 1..=2.

This type is available if Syn is built with the "full" feature.

[]

A dynamically sized slice pattern: [a, b, i.., y, z].

This type is available if Syn is built with the "full" feature.

[]

A macro in expression position.

This type is available if Syn is built with the "full" feature.

[]

Tokens in pattern position not interpreted by Syn.

This type is available if Syn is built with the "full" feature.

Trait Implementations

impl Synom for Pat
[src]
[+]

[]

A short name of the type being parsed. Read more

impl Clone for Pat
[src]
[+]

[]

Returns a copy of the value. Read more

[]

Performs copy-assignment from source. Read more

impl From<PatWild> for Pat
[src]
[+]

[]

Performs the conversion.

impl From<PatIdent> for Pat
[src]
[+]

[]

Performs the conversion.

impl From<PatStruct> for Pat
[src]
[+]

[]

Performs the conversion.

impl From<PatTupleStruct> for Pat
[src]
[+]

[]

Performs the conversion.

impl From<PatPath> for Pat
[src]
[+]

[]

Performs the conversion.

impl From<PatTuple> for Pat
[src]
[+]

[]

Performs the conversion.

impl From<PatBox> for Pat
[src]
[+]

[]

Performs the conversion.

impl From<PatRef> for Pat
[src]
[+]

[]

Performs the conversion.

impl From<PatLit> for Pat
[src]
[+]

[]

Performs the conversion.

impl From<PatRange> for Pat
[src]
[+]

[]

Performs the conversion.

impl From<PatSlice> for Pat
[src]
[+]

[]

Performs the conversion.

impl From<PatMacro> for Pat
[src]
[+]

[]

Performs the conversion.

impl From<PatVerbatim> for Pat
[src]
[+]

[]

Performs the conversion.

impl ToTokens for Pat
[src]
[+]

[]

Write self to the given Tokens. Read more

[]

Convert self directly into a Tokens object. Read more

impl From<Pat> for FnArg
[src]
[+]

[]

Performs the conversion.

Auto Trait Implementations

impl !Send for Pat

impl !Sync for Pat