pub trait TypeSuperFoldable<I: Interner>: TypeFoldable<I> {
    fn try_super_fold_with<E>(
        folder: &mut dyn FallibleTypeFolder<I, Error = E>,
        outer_binder: DebruijnIndex
    ) -> Result<Self, E>; fn super_fold_with(
        folder: &mut dyn TypeFolder<I>,
        outer_binder: DebruijnIndex
    ) -> Self { ... } }
Expand description

For types where “fold” invokes a callback on the TypeFolder, the TypeSuperFoldable trait captures the recursive behavior that folds all the contents of the type.

Required Methods

Recursively folds the value.

Provided Methods

A convenient alternative to try_super_fold_with for use with infallible folders. Do not override this method, to ensure coherence with try_super_fold_with.


“Super fold” for a type invokes te more detailed callbacks on the type

Superfold folds recursively.