Function unfold_local_ptrs

Source
fn unfold_local_ptrs(
    infcx: &mut InferCtxt<'_, '_, '_>,
    env: &mut TypeEnv<'_>,
    fn_sig: &EarlyBinder<PolyFnSig>,
    actuals: &[Ty],
) -> InferResult<Vec<Ty>>
Expand description

Temporarily (around a function call) convert an &mut to an &strg to allow for the call to be checked. This is done by unfolding the &mut into a local pointer at the call-site and then folding the pointer back into the &mut upon return. See also fold_local_ptrs.

            unpack(T) = T'
---------------------------------------[local-unfold]
Γ ; &mut T => Γ, l:[<: T] T' ; ptr(l)