Skip to main content

resolve_wrapper_effect

Function resolve_wrapper_effect 

Source
fn resolve_wrapper_effect<'tcx>(
    tcx: TyCtxt<'tcx>,
    callee: DefId,
    memo: &mut HashMap<DefId, WrapperEffectMemo>,
    probe: &dyn Fn(TyCtxt<'tcx>, DefId, &mut (dyn FnMut(DefId) -> Option<CallEffect> + '_)) -> Option<CallEffect>,
) -> Option<CallEffect>
Expand description

Resolve callee’s wrapper effect by walking nested wrapper calls, with cycle detection and memoization. probe inspects callee’s body and, for a nested call it follows, invokes recurse, which routes back through this resolver so the memo applies uniformly. A callee re-entered while still being resolved is a cycle and resolves to None (no finite wrapper chain).