Skip to main content

NoGC

Struct NoGC 

Source
pub struct NoGC(());
Expand description

Token that ensures that no GC can happen while it is alive.

This type is similar to &JSContext, but it is used in cases where no actual context is needed.

For more info and examples see JSContext.

This type can be obtained from JSContext (and will be bounded to it) or constructed from thin air (unsafe).

fn f() {
    // safe construction is not possible
    mozjs::context::NoGC(());
}

Tuple Fields§

§0: ()

Implementations§

Source§

impl NoGC

Source

pub unsafe fn new() -> Self

Creates new NoGC token from thin air.

This is more safe than constructing JSContext from thin air as the promise here (of no GC) is weaker, but one should still prefer passing NoGC down as an argument.

§Safety

One must ensure that no JSContext or existing NoGC is alive while this NoGC is alive.

Auto Trait Implementations§

§

impl Freeze for NoGC

§

impl RefUnwindSafe for NoGC

§

impl Send for NoGC

§

impl Sync for NoGC

§

impl Unpin for NoGC

§

impl UnsafeUnpin for NoGC

§

impl UnwindSafe for NoGC

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> Filterable for T

Source§

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
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<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.
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T