Struct ThreadedCcRef

Source
pub struct ThreadedCcRef<'a, T: ?Sized> { /* private fields */ }
Expand description

Wraps a borrowed reference to ThreadedCc.

The wrapper automatically takes a lock that prevents the collector from running. This ensures that when the collector is running, there are no borrowed references of ThreadedCc. Therefore ThreadedCcs can be seen as temporarily immutable, even if they might have interior mutability. The collector relies on this for correctness.

Trait Implementations§

Source§

impl<'a, T: ?Sized> Deref for ThreadedCcRef<'a, T>

Source§

type Target = T

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.

Auto Trait Implementations§

§

impl<'a, T> Freeze for ThreadedCcRef<'a, T>
where T: ?Sized,

§

impl<'a, T> !RefUnwindSafe for ThreadedCcRef<'a, T>

§

impl<'a, T> !Send for ThreadedCcRef<'a, T>

§

impl<'a, T> !Sync for ThreadedCcRef<'a, T>

§

impl<'a, T> Unpin for ThreadedCcRef<'a, T>
where T: ?Sized,

§

impl<'a, T> !UnwindSafe for ThreadedCcRef<'a, T>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.