1#[allow(unused_imports)]
2use super::pervasive::*;
3#[allow(unused_imports)]
4use super::prelude::*;
5
6verus! {
7
8#[verifier::tracked_swap_primitive]
9pub axiom fn tracked_swap<V>(tracked a: &mut V, tracked b: &mut V)
10 ensures
11 *final(a) == *old(b),
12 *final(b) == *old(a),
13;
14
15pub proof fn tracked_static_ref<V>(tracked v: V) -> (tracked res: &'static V)
20 ensures
21 res == v,
22{
23 tracked_static_mut_ref(v)
24}
25
26pub axiom fn tracked_static_mut_ref<V>(tracked v: V) -> (tracked res: &'static mut V)
28 ensures
29 *res == v,
30;
31
32}