mozjs::gc

Trait RootKind

Source
pub trait RootKind {
    type Vtable;

    const VTABLE: Self::Vtable;
    const KIND: RootKind;
}
Expand description

A trait for JS types that can be registered as roots.

Required Associated Constants§

Required Associated Types§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl RootKind for *mut BigInt

Source§

const VTABLE: <*mut BigInt as RootKind>::Vtable = ()

Source§

const KIND: RootKind = JS::RootKind::BigInt

Source§

type Vtable = ()

Source§

impl RootKind for *mut JSFunction

Source§

const VTABLE: <*mut JSFunction as RootKind>::Vtable = ()

Source§

const KIND: RootKind = JS::RootKind::Object

Source§

type Vtable = ()

Source§

impl RootKind for *mut JSObject

Source§

const VTABLE: <*mut JSObject as RootKind>::Vtable = ()

Source§

const KIND: RootKind = JS::RootKind::Object

Source§

type Vtable = ()

Source§

impl RootKind for *mut JSScript

Source§

const VTABLE: <*mut JSScript as RootKind>::Vtable = ()

Source§

const KIND: RootKind = JS::RootKind::Script

Source§

type Vtable = ()

Source§

impl RootKind for *mut JSString

Source§

const VTABLE: <*mut JSString as RootKind>::Vtable = ()

Source§

const KIND: RootKind = JS::RootKind::String

Source§

type Vtable = ()

Source§

impl RootKind for *mut Symbol

Source§

const VTABLE: <*mut Symbol as RootKind>::Vtable = ()

Source§

const KIND: RootKind = JS::RootKind::Symbol

Source§

type Vtable = ()

Implementors§

Source§

impl RootKind for PropertyKey

Source§

const VTABLE: <PropertyKey as RootKind>::Vtable = ()

Source§

const KIND: RootKind = JS::RootKind::Id

Source§

type Vtable = ()

Source§

impl RootKind for Value

Source§

const VTABLE: <Value as RootKind>::Vtable = ()

Source§

const KIND: RootKind = JS::RootKind::Value

Source§

type Vtable = ()

Source§

impl<T> RootKind for T
where T: Rootable,

Source§

const VTABLE: <T as RootKind>::Vtable

Source§

const KIND: RootKind = JS::RootKind::Traceable

Source§

type Vtable = *const RootedVFTable