Struct jrsonnet_gcmodule::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§
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> 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