pub struct Tracked<A> { /* private fields */ }
Implementations§
Trait Implementations§
source§impl<V, Pred: RwLockPredicate<V>> AtomicInvariantPredicate<Tracked<Instance<(Pred, CellId), PointsTo<V>, InternalPred<V, Pred>>>, bool, flag_exc<(Pred, CellId), PointsTo<V>, InternalPred<V, Pred>>> for InvariantPredicate_auto_RwLock_exc
impl<V, Pred: RwLockPredicate<V>> AtomicInvariantPredicate<Tracked<Instance<(Pred, CellId), PointsTo<V>, InternalPred<V, Pred>>>, bool, flag_exc<(Pred, CellId), PointsTo<V>, InternalPred<V, Pred>>> for InvariantPredicate_auto_RwLock_exc
source§open spec fn atomic_inv(
declare_struct_with_invariants_tmp_k: FieldType_RwLock_inst<V, Pred>,
declare_struct_with_invariants_tmp_v: bool,
declare_struct_with_invariants_tmp_g: flag_exc<(Pred, CellId), PointsTo<V>, InternalPred<V, Pred>>,
) -> bool
open spec fn atomic_inv( declare_struct_with_invariants_tmp_k: FieldType_RwLock_inst<V, Pred>, declare_struct_with_invariants_tmp_v: bool, declare_struct_with_invariants_tmp_g: flag_exc<(Pred, CellId), PointsTo<V>, InternalPred<V, Pred>>, ) -> bool
{
let inst = declare_struct_with_invariants_tmp_k;
let v = declare_struct_with_invariants_tmp_v;
let g = declare_struct_with_invariants_tmp_g;
{ g.instance_id() == @.id() && g.value() == v }
}
source§impl<V, Pred: RwLockPredicate<V>> AtomicInvariantPredicate<Tracked<Instance<(Pred, CellId), PointsTo<V>, InternalPred<V, Pred>>>, u64, flag_rc<(Pred, CellId), PointsTo<V>, InternalPred<V, Pred>>> for InvariantPredicate_auto_RwLock_rc
impl<V, Pred: RwLockPredicate<V>> AtomicInvariantPredicate<Tracked<Instance<(Pred, CellId), PointsTo<V>, InternalPred<V, Pred>>>, u64, flag_rc<(Pred, CellId), PointsTo<V>, InternalPred<V, Pred>>> for InvariantPredicate_auto_RwLock_rc
source§open spec fn atomic_inv(
declare_struct_with_invariants_tmp_k: FieldType_RwLock_inst<V, Pred>,
declare_struct_with_invariants_tmp_v: u64,
declare_struct_with_invariants_tmp_g: flag_rc<(Pred, CellId), PointsTo<V>, InternalPred<V, Pred>>,
) -> bool
open spec fn atomic_inv( declare_struct_with_invariants_tmp_k: FieldType_RwLock_inst<V, Pred>, declare_struct_with_invariants_tmp_v: u64, declare_struct_with_invariants_tmp_g: flag_rc<(Pred, CellId), PointsTo<V>, InternalPred<V, Pred>>, ) -> bool
{
let inst = declare_struct_with_invariants_tmp_k;
let v = declare_struct_with_invariants_tmp_v;
let g = declare_struct_with_invariants_tmp_g;
{ g.instance_id() == @.id() && g.value() == v }
}
impl<A> Copy for Tracked<A>where
A: Copy,
Auto Trait Implementations§
impl<A> Freeze for Tracked<A>
impl<A> RefUnwindSafe for Tracked<A>where
A: RefUnwindSafe,
impl<A> Send for Tracked<A>where
A: Send,
impl<A> Sync for Tracked<A>where
A: Sync,
impl<A> Unpin for Tracked<A>where
A: Unpin,
impl<A> UnwindSafe for Tracked<A>where
A: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)