pub trait RecursiveExt: Recursive {
// Required methods
fn fold_recursive<Out, F: FnMut(<<Self as Recursive>::FunctorToken as Functor>::Layer<Out>) -> Out>(
self,
collapse_layer: F,
) -> Out;
fn expand_and_collapse<Seed, Out>(
seed: Seed,
expand_layer: impl FnMut(Seed) -> <<Self as Recursive>::FunctorToken as Functor>::Layer<Seed>,
collapse_layer: impl FnMut(<<Self as Recursive>::FunctorToken as Functor>::Layer<Out>) -> Out,
) -> Out;
}
Required Methods§
fn fold_recursive<Out, F: FnMut(<<Self as Recursive>::FunctorToken as Functor>::Layer<Out>) -> Out>( self, collapse_layer: F, ) -> Out
fn expand_and_collapse<Seed, Out>( seed: Seed, expand_layer: impl FnMut(Seed) -> <<Self as Recursive>::FunctorToken as Functor>::Layer<Seed>, collapse_layer: impl FnMut(<<Self as Recursive>::FunctorToken as Functor>::Layer<Out>) -> Out, ) -> Out
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.