[−][src]Trait chalk_ir::fold::SuperFold
For types where "fold" invokes a callback on the Folder
, the
SuperFold
trait captures the recursive behavior that folds all
the contents of the type.
Required methods
fn super_fold_with<'i>(
&self,
folder: &mut dyn Folder<'i, I, TI>,
outer_binder: DebruijnIndex
) -> Fallible<Self::Result> where
I: 'i,
TI: 'i,
&self,
folder: &mut dyn Folder<'i, I, TI>,
outer_binder: DebruijnIndex
) -> Fallible<Self::Result> where
I: 'i,
TI: 'i,
Recursively folds the value.
Implementors
impl<I, TI> SuperFold<I, TI> for Const<I> where
I: Interner,
TI: TargetInterner<I>,
[src]
I: Interner,
TI: TargetInterner<I>,
fn super_fold_with<'i>(
&self,
folder: &mut dyn Folder<'i, I, TI>,
outer_binder: DebruijnIndex
) -> Fallible<Const<TI>> where
I: 'i,
TI: 'i,
[src]
&self,
folder: &mut dyn Folder<'i, I, TI>,
outer_binder: DebruijnIndex
) -> Fallible<Const<TI>> where
I: 'i,
TI: 'i,
impl<I, TI> SuperFold<I, TI> for Lifetime<I> where
I: Interner,
TI: TargetInterner<I>,
[src]
I: Interner,
TI: TargetInterner<I>,
fn super_fold_with<'i>(
&self,
folder: &mut dyn Folder<'i, I, TI>,
outer_binder: DebruijnIndex
) -> Fallible<Lifetime<TI>> where
I: 'i,
TI: 'i,
[src]
&self,
folder: &mut dyn Folder<'i, I, TI>,
outer_binder: DebruijnIndex
) -> Fallible<Lifetime<TI>> where
I: 'i,
TI: 'i,
impl<I, TI> SuperFold<I, TI> for Ty<I> where
I: Interner,
TI: TargetInterner<I>,
[src]
I: Interner,
TI: TargetInterner<I>,
"Super fold" for a type invokes te more detailed callbacks on the type
fn super_fold_with<'i>(
&self,
folder: &mut dyn Folder<'i, I, TI>,
outer_binder: DebruijnIndex
) -> Fallible<Ty<TI>> where
I: 'i,
TI: 'i,
[src]
&self,
folder: &mut dyn Folder<'i, I, TI>,
outer_binder: DebruijnIndex
) -> Fallible<Ty<TI>> where
I: 'i,
TI: 'i,
impl<I: Interner, TI: TargetInterner<I>> SuperFold<I, TI> for Goal<I>
[src]
Superfold folds recursively.
fn super_fold_with<'i>(
&self,
folder: &mut dyn Folder<'i, I, TI>,
outer_binder: DebruijnIndex
) -> Fallible<Self::Result> where
I: 'i,
TI: 'i,
[src]
&self,
folder: &mut dyn Folder<'i, I, TI>,
outer_binder: DebruijnIndex
) -> Fallible<Self::Result> where
I: 'i,
TI: 'i,
impl<I: Interner, TI: TargetInterner<I>> SuperFold<I, TI> for ProgramClause<I>
[src]
fn super_fold_with<'i>(
&self,
folder: &mut dyn Folder<'i, I, TI>,
outer_binder: DebruijnIndex
) -> Fallible<Self::Result> where
I: 'i,
TI: 'i,
[src]
&self,
folder: &mut dyn Folder<'i, I, TI>,
outer_binder: DebruijnIndex
) -> Fallible<Self::Result> where
I: 'i,
TI: 'i,
impl<I: Interner, TI: TargetInterner<I>> SuperFold<I, TI> for ProgramClauseData<I>
[src]
fn super_fold_with<'i>(
&self,
folder: &mut dyn Folder<'i, I, TI>,
outer_binder: DebruijnIndex
) -> Fallible<Self::Result> where
I: 'i,
TI: 'i,
[src]
&self,
folder: &mut dyn Folder<'i, I, TI>,
outer_binder: DebruijnIndex
) -> Fallible<Self::Result> where
I: 'i,
TI: 'i,