Struct cryo::Cryo [−][src]
A cell-like type that enforces the lifetime restriction of its borrowed value at runtime.
Cryo
is a variation of CryoMut
that only can be immutably borrowed.
When a Cryo
is dropped, the current thread’s execution will be
prevented from moving forward (at least) until all references to the
expiring Cryo
are dropped. This ensures that none of the outstanding
references can outlive the referent.
See the module-level documentation for more details.
Implementations
Trait Implementations
impl<'a, T: ?Sized + Send, Lock: Lock> Send for Cryo<'a, T, Lock> where
Lock::LockMarker: Send,
[src]
Lock::LockMarker: Send,
impl<'a, T: ?Sized + Send + Sync, Lock: Lock> Sync for Cryo<'a, T, Lock> where
Lock::LockMarker: Send,
[src]
Lock::LockMarker: Send,
Auto Trait Implementations
impl<'a, T, Lock> !RefUnwindSafe for Cryo<'a, T, Lock>
impl<'a, T, Lock> !Unpin for Cryo<'a, T, Lock>
impl<'a, T: ?Sized, Lock> UnwindSafe for Cryo<'a, T, Lock> where
Lock: UnwindSafe,
T: RefUnwindSafe,
Lock: UnwindSafe,
T: RefUnwindSafe,