Skip to main content

Foldable

Trait Foldable 

Source
pub trait Foldable<T, U> {
    type Mapped;

    // Required method
    fn fold<F: Fold<T, TargetU = U> + ?Sized>(
        self,
        folder: &mut F,
    ) -> Result<Self::Mapped, F::Error>;
}

Required Associated Types§

Required Methods§

Source

fn fold<F: Fold<T, TargetU = U> + ?Sized>( self, folder: &mut F, ) -> Result<Self::Mapped, F::Error>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<T, U, X> Foldable<T, U> for Box<X>
where X: Foldable<T, U>,

Source§

type Mapped = Box<<X as Foldable<T, U>>::Mapped>

Source§

fn fold<F: Fold<T, TargetU = U> + ?Sized>( self, folder: &mut F, ) -> Result<Self::Mapped, F::Error>

Source§

impl<T, U, X> Foldable<T, U> for Option<X>
where X: Foldable<T, U>,

Source§

type Mapped = Option<<X as Foldable<T, U>>::Mapped>

Source§

fn fold<F: Fold<T, TargetU = U> + ?Sized>( self, folder: &mut F, ) -> Result<Self::Mapped, F::Error>

Source§

impl<T, U, X> Foldable<T, U> for Vec<X>
where X: Foldable<T, U>,

Source§

type Mapped = Vec<<X as Foldable<T, U>>::Mapped>

Source§

fn fold<F: Fold<T, TargetU = U> + ?Sized>( self, folder: &mut F, ) -> Result<Self::Mapped, F::Error>

Source§

impl<T, U> Foldable<T, U> for bool

Source§

type Mapped = bool

Source§

fn fold<F: Fold<T, TargetU = U> + ?Sized>( self, _folder: &mut F, ) -> Result<Self::Mapped, F::Error>

Implementors§

Source§

impl<T, U> Foldable<T, U> for Alias<T>

Source§

impl<T, U> Foldable<T, U> for Arg<T>

Source§

impl<T, U> Foldable<T, U> for ArgWithDefault<T>

Source§

impl<T, U> Foldable<T, U> for Arguments<T>

Source§

impl<T, U> Foldable<T, U> for BoolOp

Source§

impl<T, U> Foldable<T, U> for CmpOp

Source§

impl<T, U> Foldable<T, U> for Comprehension<T>

Source§

impl<T, U> Foldable<T, U> for Constant

Source§

impl<T, U> Foldable<T, U> for ConversionFlag

Source§

impl<T, U> Foldable<T, U> for ExceptHandler<T>

Source§

impl<T, U> Foldable<T, U> for ExceptHandlerExceptHandler<T>

Source§

impl<T, U> Foldable<T, U> for Expr<T>

Source§

impl<T, U> Foldable<T, U> for ExprAttribute<T>

Source§

impl<T, U> Foldable<T, U> for ExprAwait<T>

Source§

impl<T, U> Foldable<T, U> for ExprBinOp<T>

Source§

impl<T, U> Foldable<T, U> for ExprBoolOp<T>

Source§

impl<T, U> Foldable<T, U> for ExprCall<T>

Source§

impl<T, U> Foldable<T, U> for ExprCompare<T>

Source§

impl<T, U> Foldable<T, U> for ExprConstant<T>

Source§

impl<T, U> Foldable<T, U> for ExprContext

Source§

impl<T, U> Foldable<T, U> for ExprDict<T>

Source§

impl<T, U> Foldable<T, U> for ExprDictComp<T>

Source§

impl<T, U> Foldable<T, U> for ExprFormattedValue<T>

Source§

impl<T, U> Foldable<T, U> for ExprGeneratorExp<T>

Source§

impl<T, U> Foldable<T, U> for ExprIfExp<T>

Source§

impl<T, U> Foldable<T, U> for ExprJoinedStr<T>

Source§

impl<T, U> Foldable<T, U> for ExprLambda<T>

Source§

impl<T, U> Foldable<T, U> for ExprList<T>

Source§

impl<T, U> Foldable<T, U> for ExprListComp<T>

Source§

impl<T, U> Foldable<T, U> for ExprName<T>

Source§

impl<T, U> Foldable<T, U> for ExprNamedExpr<T>

Source§

impl<T, U> Foldable<T, U> for ExprSet<T>

Source§

impl<T, U> Foldable<T, U> for ExprSetComp<T>

Source§

impl<T, U> Foldable<T, U> for ExprSlice<T>

Source§

impl<T, U> Foldable<T, U> for ExprStarred<T>

Source§

impl<T, U> Foldable<T, U> for ExprSubscript<T>

Source§

impl<T, U> Foldable<T, U> for ExprTuple<T>

Source§

impl<T, U> Foldable<T, U> for ExprUnaryOp<T>

Source§

impl<T, U> Foldable<T, U> for ExprYield<T>

Source§

impl<T, U> Foldable<T, U> for ExprYieldFrom<T>

Source§

impl<T, U> Foldable<T, U> for Identifier

Source§

impl<T, U> Foldable<T, U> for Int

Source§

impl<T, U> Foldable<T, U> for Keyword<T>

Source§

impl<T, U> Foldable<T, U> for MatchCase<T>

Source§

impl<T, U> Foldable<T, U> for Mod<T>

Source§

impl<T, U> Foldable<T, U> for ModExpression<T>

Source§

impl<T, U> Foldable<T, U> for ModFunctionType<T>

Source§

impl<T, U> Foldable<T, U> for ModInteractive<T>

Source§

impl<T, U> Foldable<T, U> for ModModule<T>

Source§

impl<T, U> Foldable<T, U> for Operator

Source§

impl<T, U> Foldable<T, U> for Pattern<T>

Source§

impl<T, U> Foldable<T, U> for PatternMatchAs<T>

Source§

impl<T, U> Foldable<T, U> for PatternMatchClass<T>

Source§

impl<T, U> Foldable<T, U> for PatternMatchMapping<T>

Source§

impl<T, U> Foldable<T, U> for PatternMatchOr<T>

Source§

impl<T, U> Foldable<T, U> for PatternMatchSequence<T>

Source§

impl<T, U> Foldable<T, U> for PatternMatchSingleton<T>

Source§

impl<T, U> Foldable<T, U> for PatternMatchStar<T>

Source§

impl<T, U> Foldable<T, U> for PatternMatchValue<T>

Source§

impl<T, U> Foldable<T, U> for Stmt<T>

Source§

impl<T, U> Foldable<T, U> for StmtAnnAssign<T>

Source§

impl<T, U> Foldable<T, U> for StmtAssert<T>

Source§

impl<T, U> Foldable<T, U> for StmtAssign<T>

Source§

impl<T, U> Foldable<T, U> for StmtAsyncFor<T>

Source§

impl<T, U> Foldable<T, U> for StmtAsyncFunctionDef<T>

Source§

impl<T, U> Foldable<T, U> for StmtAsyncWith<T>

Source§

impl<T, U> Foldable<T, U> for StmtAugAssign<T>

Source§

impl<T, U> Foldable<T, U> for StmtBreak<T>

Source§

impl<T, U> Foldable<T, U> for StmtClassDef<T>

Source§

impl<T, U> Foldable<T, U> for StmtContinue<T>

Source§

impl<T, U> Foldable<T, U> for StmtDelete<T>

Source§

impl<T, U> Foldable<T, U> for StmtExpr<T>

Source§

impl<T, U> Foldable<T, U> for StmtFor<T>

Source§

impl<T, U> Foldable<T, U> for StmtFunctionDef<T>

Source§

impl<T, U> Foldable<T, U> for StmtGlobal<T>

Source§

impl<T, U> Foldable<T, U> for StmtIf<T>

Source§

impl<T, U> Foldable<T, U> for StmtImport<T>

Source§

impl<T, U> Foldable<T, U> for StmtImportFrom<T>

Source§

impl<T, U> Foldable<T, U> for StmtMatch<T>

Source§

impl<T, U> Foldable<T, U> for StmtNonlocal<T>

Source§

impl<T, U> Foldable<T, U> for StmtPass<T>

Source§

impl<T, U> Foldable<T, U> for StmtRaise<T>

Source§

impl<T, U> Foldable<T, U> for StmtReturn<T>

Source§

impl<T, U> Foldable<T, U> for StmtTry<T>

Source§

impl<T, U> Foldable<T, U> for StmtTryStar<T>

Source§

impl<T, U> Foldable<T, U> for StmtTypeAlias<T>

Source§

impl<T, U> Foldable<T, U> for StmtWhile<T>

Source§

impl<T, U> Foldable<T, U> for StmtWith<T>

Source§

impl<T, U> Foldable<T, U> for String

Source§

impl<T, U> Foldable<T, U> for TypeIgnore<T>

Source§

impl<T, U> Foldable<T, U> for TypeIgnoreTypeIgnore<T>

Source§

impl<T, U> Foldable<T, U> for TypeParam<T>

Source§

impl<T, U> Foldable<T, U> for TypeParamParamSpec<T>

Source§

impl<T, U> Foldable<T, U> for TypeParamTypeVar<T>

Source§

impl<T, U> Foldable<T, U> for TypeParamTypeVarTuple<T>

Source§

impl<T, U> Foldable<T, U> for UnaryOp

Source§

impl<T, U> Foldable<T, U> for WithItem<T>