pub struct RootedGuard<'a, T: 'a + RootKind> { /* private fields */ }Expand description
Rust API for keeping a Rooted value in the context’s root stack.
Example usage: rooted!(in(cx) let x = UndefinedValue());.
RootedGuard::new also works, but the macro is preferred.
Implementations§
Source§impl<'a, T: 'a + RootKind> RootedGuard<'a, T>
impl<'a, T: 'a + RootKind> RootedGuard<'a, T>
pub fn new( cx: *mut JSContext, root: &'a mut MaybeUninit<Rooted<T>>, initial: T, ) -> Self
pub fn handle(&'a self) -> Handle<'a, T>
pub fn handle_mut(&mut self) -> MutableHandle<'_, T>
pub fn as_ptr(&self) -> *mut T
Sourcepub unsafe fn as_mut<'b>(&'b mut self) -> &'b mut Twhere
'a: 'b,
pub unsafe fn as_mut<'b>(&'b mut self) -> &'b mut Twhere
'a: 'b,
Safety: GC must not run during the lifetime of the returned reference.
pub fn get(&self) -> Twhere
T: Copy,
pub fn set(&mut self, v: T)
Trait Implementations§
Source§impl<'a, T: 'a + RootKind> Deref for RootedGuard<'a, T>
impl<'a, T: 'a + RootKind> Deref for RootedGuard<'a, T>
Source§impl<'a, T: 'a + RootKind> Drop for RootedGuard<'a, T>
impl<'a, T: 'a + RootKind> Drop for RootedGuard<'a, T>
Source§impl<'a, const N: usize> From<&RootedGuard<'a, ValueArray<N>>> for HandleValueArray
impl<'a, const N: usize> From<&RootedGuard<'a, ValueArray<N>>> for HandleValueArray
Source§fn from(array: &RootedGuard<'a, ValueArray<N>>) -> HandleValueArray
fn from(array: &RootedGuard<'a, ValueArray<N>>) -> HandleValueArray
Converts to this type from the input type.
Auto Trait Implementations§
impl<'a, T> Freeze for RootedGuard<'a, T>
impl<'a, T> RefUnwindSafe for RootedGuard<'a, T>
impl<'a, T> !Send for RootedGuard<'a, T>
impl<'a, T> !Sync for RootedGuard<'a, T>
impl<'a, T> Unpin for RootedGuard<'a, T>
impl<'a, T> !UnwindSafe for RootedGuard<'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
Source§impl<T> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
Creates a filterable data provider with the given name for debugging. Read more
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 8 bytes