Struct aster::pat::PatBuilder [] [src]

pub struct PatBuilder<F = Identity> {
    // some fields omitted
}

Methods

impl PatBuilder

fn new() -> Self

impl<F> PatBuilder<F> where F: Invoke<P<Pat>>

fn with_callback(callback: F) -> Self

fn span(self, span: Span) -> Self

fn build(self, pat: P<Pat>) -> F::Result

fn build_pat_kind(self, pat_kind: PatKind) -> F::Result

fn wild(self) -> F::Result

fn build_id<I>(self, mode: BindingMode, id: I, sub: Option<P<Pat>>) -> F::Result where I: ToIdent

fn id<I>(self, id: I) -> F::Result where I: ToIdent

fn mut_id<I>(self, id: I) -> F::Result where I: ToIdent

fn ref_id<I>(self, id: I) -> F::Result where I: ToIdent

fn ref_mut_id<I>(self, id: I) -> F::Result where I: ToIdent

fn enum_(self) -> PathBuilder<PatEnumBuilder<F>>

fn struct_(self) -> PathBuilder<PatStructBuilder<F>>

fn expr(self) -> ExprBuilder<PatExprBuilder<F>>

fn build_path(self, path: Path) -> F::Result

fn build_qpath(self, qself: QSelf, path: Path) -> F::Result

fn path(self) -> PathBuilder<Self>

fn qpath(self) -> QPathBuilder<Self>

fn build_range(self, lhs: P<Expr>, rhs: P<Expr>) -> F::Result

fn range(self) -> ExprBuilder<PatRangeBuilder<F>>

fn tuple(self) -> PatTupleBuilder<F>

Trait Implementations

impl<F> Invoke<Path> for PatBuilder<F> where F: Invoke<P<Pat>>

type Result = F::Result

fn invoke(self, path: Path) -> F::Result

impl<F> Invoke<(QSelf, Path)> for PatBuilder<F> where F: Invoke<P<Pat>>

type Result = F::Result

fn invoke(self, (qself, path): (QSelf, Path)) -> F::Result