pub struct ArcRef<'a, T: 'static> { /* private fields */ }Expand description
A type that represents &'a Arc<T>.
Note there is no verification-only permission field, because ArcRef uses Arc instead of a raw pointer internally.
Implementations§
Source§impl<'a, T> ArcRef<'a, T>
impl<'a, T> ArcRef<'a, T>
Sourcepub exec fn deref_target(&self) -> ret : &'a T
pub exec fn deref_target(&self) -> ret : &'a T
ensures
*ret == self@,Dereferences self to get a reference to T with the lifetime 'a.
VERUS LIMITATION: The code includes a cast from &T to *const T, which is not specified yet in Verus.
This is also a nontrivial use case that extends the lifetime of the reference.
Trait Implementations§
Auto Trait Implementations§
impl<'a, T> Freeze for ArcRef<'a, T>
impl<'a, T> RefUnwindSafe for ArcRef<'a, T>where
T: RefUnwindSafe,
impl<'a, T> Send for ArcRef<'a, T>
impl<'a, T> Sync for ArcRef<'a, T>
impl<'a, T> Unpin for ArcRef<'a, T>
impl<'a, T> UnsafeUnpin for ArcRef<'a, T>
impl<'a, T> UnwindSafe for ArcRef<'a, T>where
T: RefUnwindSafe,
Blanket Implementations§
§impl<T> DerefSpec for Twhere
T: Deref,
impl<T> DerefSpec for Twhere
T: Deref,
§fn deref_spec(&self) -> &<T as Deref>::Target
fn deref_spec(&self) -> &<T as Deref>::Target
👎Deprecated: If you can, do not use this module as it adds assumptions about the core of Rust’s deref semantics.
§fn deref_spec_eq(&self)
fn deref_spec_eq(&self)
👎Deprecated: If you can, do not use this module as it adds assumptions about the core of Rust’s deref semantics.
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