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>

§

type Target = T

The resulting type after dereferencing.
source§

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

Dereferences the value.

Auto Trait Implementations§

§

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: ?Sized> Unpin for ThreadedCcRef<'a, T>

§

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

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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<T, U> TryFrom<U> for Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.