pub fn auto_strong(
genv: GlobalEnv<'_, '_>,
def_id: impl IntoQueryParam<DefId>,
fn_sig: PolyFnSig,
) -> PolyFnSigExpand description
The auto_strong function transforms function signatures by automatically converting
mutable reference parameters into strong references with associated ensures clauses. This
transformation is applied only when the function signature does not already contain region
variables in its return type.
Specifically, given a source function of type
fn (x: &mut InnerTy) -> bool
By default the above gives us an rty::FnSig
forall<>. fn (x: &mut InnerTy) -> bool
Which this function then transforms to
forall<l0: Loc>. fn (x: &strg<l0:InnerTy>) -> bool ensures l0:InnerTy