pub struct ArcRefHandle<T: ?Sized> {
pub(super) head: NonNull<ArcHead>,
pub(super) layout: Layout,
pub(super) data: NonNull<T>,
}Fields§
§head: NonNull<ArcHead>§layout: Layout§data: NonNull<T>Trait Implementations§
Source§impl<'a, T: ?Sized> BorrowPlace<&'a T> for ArcRefHandle<T>
impl<'a, T: ?Sized> BorrowPlace<&'a T> for ArcRefHandle<T>
Source§const ACCESS: AccessKind = AccessKind::Shared
const ACCESS: AccessKind = AccessKind::Shared
The access permissions to the place required by
Self::borrow.Source§type Timing = Lifetime<'a>
type Timing = Lifetime<'a>
The timing of the access permissions of
Self::borrow.Source§impl<T: ?Sized> BorrowPlace<*const T> for ArcRefHandle<T>
impl<T: ?Sized> BorrowPlace<*const T> for ArcRefHandle<T>
Source§const ACCESS: AccessKind = AccessKind::Shared
const ACCESS: AccessKind = AccessKind::Shared
The access permissions to the place required by
Self::borrow.Source§type Timing = Instant
type Timing = Instant
The timing of the access permissions of
Self::borrow.Source§impl<T: ?Sized> BorrowPlace<ArcRef<T>> for ArcRefHandle<T>
impl<T: ?Sized> BorrowPlace<ArcRef<T>> for ArcRefHandle<T>
Source§const ACCESS: AccessKind = AccessKind::Shared
const ACCESS: AccessKind = AccessKind::Shared
The access permissions to the place required by
Self::borrow.Source§type Timing = Instant
type Timing = Instant
The timing of the access permissions of
Self::borrow.Source§impl<T: ?Sized> BorrowPlace<NonNull<T>> for ArcRefHandle<T>
impl<T: ?Sized> BorrowPlace<NonNull<T>> for ArcRefHandle<T>
Source§const ACCESS: AccessKind = AccessKind::Shared
const ACCESS: AccessKind = AccessKind::Shared
The access permissions to the place required by
Self::borrow.Source§type Timing = Instant
type Timing = Instant
The timing of the access permissions of
Self::borrow.Source§impl<T, ProxyTiming> DerefPlace<ProxyTiming, UntilDrop> for ArcRefHandle<T>
impl<T, ProxyTiming> DerefPlace<ProxyTiming, UntilDrop> for ArcRefHandle<T>
Source§const POINTEE_ACCESS: AccessKind = T::ACCESS
const POINTEE_ACCESS: AccessKind = T::ACCESS
The access permissions to the contents of the place handled by
Self
required by Self::deref_place.Source§const POINTER_ACCESS: AccessKind = AccessKind::Shared
const POINTER_ACCESS: AccessKind = AccessKind::Shared
The access permissions to the place handled by
Self required by
Self::deref_place.Source§const SAFE: bool = true
const SAFE: bool = true
Whether
Self::deref_place is safe when Self::POINTEE_ACCESS and
Self::POINTER_ACCESS are honored for PointeeTiming and
PointerTiming respectively. Read moreunsafe fn deref_place( self, ) -> <Self::Target as CreateHandle<ProxyTiming>>::Handle
Source§impl<T: ?Sized> PlaceHandle for ArcRefHandle<T>
impl<T: ?Sized> PlaceHandle for ArcRefHandle<T>
Source§impl<S: Subplace> ProjectPlace<S> for ArcRefHandle<S::Source>
impl<S: Subplace> ProjectPlace<S> for ArcRefHandle<S::Source>
type Projected = ArcRefHandle<<S as Subplace>::Target>
unsafe fn project_place(self, subplace: S) -> Self::Projected
Source§impl<T> ReadPlace for ArcRefHandle<T>
impl<T> ReadPlace for ArcRefHandle<T>
Source§const ACCESS: AccessKind = AccessKind::Shared
const ACCESS: AccessKind = AccessKind::Shared
The access permissions to the place required by
Self::read_place.Source§unsafe fn read_place(self) -> Self::Target
unsafe fn read_place(self) -> Self::Target
Read from the place. Read more
Auto Trait Implementations§
impl<T> !Send for ArcRefHandle<T>
impl<T> !Sync for ArcRefHandle<T>
impl<T> Freeze for ArcRefHandle<T>where
T: ?Sized,
impl<T> RefUnwindSafe for ArcRefHandle<T>where
T: RefUnwindSafe + ?Sized,
impl<T> Unpin for ArcRefHandle<T>where
T: ?Sized,
impl<T> UnsafeUnpin for ArcRefHandle<T>where
T: ?Sized,
impl<T> UnwindSafe for ArcRefHandle<T>where
T: RefUnwindSafe + ?Sized,
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