Function vstd::pcm_lib::extract

source ·
pub proof fn extract<P: PCM>(tracked r: &mut Resource<P>) -> tracked other : Resource<P>
Expand description
ensures
other.loc() == r.loc() == old(r).loc(),
r.value() == P::unit(),
other.value() == old(r).value(),

Extracts the resource from r, leaving r empty (i.e., having value P::unit) and returning a new resource holding the previous value of r.