Trait boa_engine::Trace

source ·
pub unsafe trait Trace: Finalize {
    // Required methods
    unsafe fn trace(&self, tracer: &mut Tracer);
    unsafe fn trace_non_roots(&self);
    fn run_finalizer(&self);
}
Expand description

The Trace trait, which needs to be implemented on garbage-collected objects.

§Safety

  • An incorrect implementation of the trait can result in heap overflows, data corruption, use-after-free, or Undefined Behaviour in general.

  • Calling any of the functions marked as unsafe outside of the context of the garbage collector can result in Undefined Behaviour.

Required Methods§

source

unsafe fn trace(&self, tracer: &mut Tracer)

Marks all contained Gcs.

§Safety

See Trace.

source

unsafe fn trace_non_roots(&self)

Trace handles located in GC heap, and mark them as non root.

§Safety

See Trace.

source

fn run_finalizer(&self)

Runs Finalize::finalize on this object and all contained subobjects.

Implementations on Foreign Types§

source§

impl Trace for bool

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for char

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for f32

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for f64

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for i8

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for i16

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for i32

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for i64

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for i128

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for isize

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for u8

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for u16

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for u32

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for u64

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for u128

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for ()

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for usize

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for Box<str>

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for Rc<str>

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for String

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for TypeId

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for NonZero<i8>

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for NonZero<i16>

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for NonZero<i32>

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for NonZero<i64>

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for NonZero<i128>

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for NonZero<isize>

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for NonZero<u8>

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for NonZero<u16>

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for NonZero<u32>

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for NonZero<u64>

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for NonZero<u128>

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for NonZero<usize>

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for AtomicBool

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for AtomicI8

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for AtomicI16

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for AtomicI32

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for AtomicI64

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for AtomicIsize

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for AtomicU8

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for AtomicU16

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for AtomicU32

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for AtomicU64

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for AtomicUsize

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for Path

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for PathBuf

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl Trace for Sym

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<A> Trace for (A,)
where A: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<A, B> Trace for (A, B)
where A: Trace, B: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<A, B, C> Trace for (A, B, C)
where A: Trace, B: Trace, C: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<A, B, C, D> Trace for (A, B, C, D)
where A: Trace, B: Trace, C: Trace, D: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<A, B, C, D, E> Trace for (A, B, C, D, E)
where A: Trace, B: Trace, C: Trace, D: Trace, E: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<A, B, C, D, E, F> Trace for (A, B, C, D, E, F)
where A: Trace, B: Trace, C: Trace, D: Trace, E: Trace, F: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<A, B, C, D, E, F, G> Trace for (A, B, C, D, E, F, G)
where A: Trace, B: Trace, C: Trace, D: Trace, E: Trace, F: Trace, G: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<A, B, C, D, E, F, G, H> Trace for (A, B, C, D, E, F, G, H)
where A: Trace, B: Trace, C: Trace, D: Trace, E: Trace, F: Trace, G: Trace, H: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<A, B, C, D, E, F, G, H, I> Trace for (A, B, C, D, E, F, G, H, I)
where A: Trace, B: Trace, C: Trace, D: Trace, E: Trace, F: Trace, G: Trace, H: Trace, I: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<A, B, C, D, E, F, G, H, I, J> Trace for (A, B, C, D, E, F, G, H, I, J)
where A: Trace, B: Trace, C: Trace, D: Trace, E: Trace, F: Trace, G: Trace, H: Trace, I: Trace, J: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<A, B, C, D, E, F, G, H, I, J, K> Trace for (A, B, C, D, E, F, G, H, I, J, K)
where A: Trace, B: Trace, C: Trace, D: Trace, E: Trace, F: Trace, G: Trace, H: Trace, I: Trace, J: Trace, K: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L> Trace for (A, B, C, D, E, F, G, H, I, J, K, L)
where A: Trace, B: Trace, C: Trace, D: Trace, E: Trace, F: Trace, G: Trace, H: Trace, I: Trace, J: Trace, K: Trace, L: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<K, V> Trace for BTreeMap<K, V>
where K: Trace, V: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<K, V, S> Trace for HashMap<K, V, S>
where K: Eq + Hash + Trace, V: Trace, S: BuildHasher,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<K, V, S> Trace for HashMap<K, V, S>
where K: Eq + Hash + Trace, V: Trace, S: BuildHasher,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret> Trace for fn() -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret> Trace for extern "C" fn() -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret> Trace for unsafe fn() -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret> Trace for unsafe extern "C" fn() -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A> Trace for fn(_: A) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A> Trace for extern "C" fn(_: A) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A> Trace for extern "C" fn(_: A, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A> Trace for unsafe fn(_: A) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A> Trace for unsafe extern "C" fn(_: A) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A> Trace for unsafe extern "C" fn(_: A, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B> Trace for fn(_: A, _: B) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B> Trace for extern "C" fn(_: A, _: B) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B> Trace for extern "C" fn(_: A, _: B, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B> Trace for unsafe fn(_: A, _: B) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B> Trace for unsafe extern "C" fn(_: A, _: B) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B> Trace for unsafe extern "C" fn(_: A, _: B, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C> Trace for fn(_: A, _: B, _: C) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C> Trace for extern "C" fn(_: A, _: B, _: C) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C> Trace for extern "C" fn(_: A, _: B, _: C, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C> Trace for unsafe fn(_: A, _: B, _: C) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C> Trace for unsafe extern "C" fn(_: A, _: B, _: C) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C> Trace for unsafe extern "C" fn(_: A, _: B, _: C, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D> Trace for fn(_: A, _: B, _: C, _: D) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D> Trace for extern "C" fn(_: A, _: B, _: C, _: D) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D> Trace for extern "C" fn(_: A, _: B, _: C, _: D, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D> Trace for unsafe fn(_: A, _: B, _: C, _: D) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D> Trace for unsafe extern "C" fn(_: A, _: B, _: C, _: D) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D> Trace for unsafe extern "C" fn(_: A, _: B, _: C, _: D, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E> Trace for fn(_: A, _: B, _: C, _: D, _: E) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E> Trace for extern "C" fn(_: A, _: B, _: C, _: D, _: E) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E> Trace for extern "C" fn(_: A, _: B, _: C, _: D, _: E, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E> Trace for unsafe fn(_: A, _: B, _: C, _: D, _: E) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E> Trace for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E> Trace for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F> Trace for fn(_: A, _: B, _: C, _: D, _: E, _: F) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F> Trace for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F> Trace for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F> Trace for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F> Trace for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F> Trace for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G> Trace for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G> Trace for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G> Trace for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G> Trace for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G> Trace for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G> Trace for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H> Trace for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H> Trace for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H> Trace for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H> Trace for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H> Trace for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H> Trace for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I> Trace for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I> Trace for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I> Trace for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I> Trace for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I> Trace for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I> Trace for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J> Trace for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J> Trace for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J> Trace for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J> Trace for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J> Trace for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J> Trace for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Trace for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Trace for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Trace for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Trace for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Trace for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Trace for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Trace for fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Trace for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Trace for extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Trace for unsafe fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Trace for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Trace for unsafe extern "C" fn(_: A, _: B, _: C, _: D, _: E, _: F, _: G, _: H, _: I, _: J, _: K, _: L, ...) -> Ret

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<T> Trace for Cow<'static, T>
where T: ToOwned + Trace + ?Sized, <T as ToOwned>::Owned: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<T> Trace for Option<T>
where T: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<T> Trace for &'static T
where T: ?Sized,

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<T> Trace for Box<[T]>
where T: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<T> Trace for Box<T>
where T: Trace + ?Sized,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<T> Trace for BinaryHeap<T>
where T: Ord + Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<T> Trace for BTreeSet<T>
where T: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<T> Trace for LinkedList<T>
where T: Eq + Hash + Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<T> Trace for VecDeque<T>
where T: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<T> Trace for Vec<T>
where T: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<T> Trace for OnceCell<T>
where T: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<T> Trace for Cell<Option<T>>
where T: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<T> Trace for PhantomData<T>

source§

unsafe fn trace(&self, _tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<T> Trace for ThinVec<T>
where T: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<T, E> Trace for Result<T, E>
where T: Trace, E: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<T, S> Trace for HashSet<T, S>
where T: Eq + Hash + Trace, S: BuildHasher,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

source§

impl<T, const N: usize> Trace for [T; N]
where T: Trace,

source§

unsafe fn trace(&self, tracer: &mut Tracer)

source§

unsafe fn trace_non_roots(&self)

source§

fn run_finalizer(&self)

Implementors§

source§

impl Trace for ErrorObject
where Self: Copy,

source§

impl Trace for ClassFieldDefinition

source§

impl Trace for ThisMode

source§

impl Trace for PromiseState

source§

impl Trace for JsErasedNativeErrorKind

source§

impl Trace for JsNativeErrorKind

source§

impl Trace for PrivateElement

source§

impl Trace for DescriptorKind

source§

impl Trace for JsValue

source§

impl Trace for JsBigInt

source§

impl Trace for ArrayBuffer

source§

impl Trace for SharedArrayBuffer

source§

impl Trace for AsyncGenerator

source§

impl Trace for DataView

source§

impl Trace for Date
where Self: Copy,

source§

impl Trace for BoundFunction

source§

impl Trace for OrdinaryFunction

source§

impl Trace for Generator

source§

impl Trace for IteratorPrototypes

source§

impl Trace for IteratorRecord

source§

impl Trace for IteratorResult

source§

impl Trace for OrdinaryObject
where Self: Copy,

source§

impl Trace for Promise

source§

impl Trace for ResolvingFunctions

source§

impl Trace for Proxy

source§

impl Trace for RegExp

source§

impl Trace for OrderedSet

source§

impl Trace for TypedArray

source§

impl Trace for UriFunctions

source§

impl Trace for IntrinsicObjects

source§

impl Trace for Intrinsics

source§

impl Trace for StandardConstructor

source§

impl Trace for StandardConstructors

source§

impl Trace for JsErasedError

source§

impl Trace for JsErasedNativeError

source§

impl Trace for JsError

source§

impl Trace for JsNativeError

source§

impl Trace for JobCallback

source§

impl Trace for Module

source§

impl Trace for ModuleNamespace

source§

impl Trace for SyntheticModule

source§

impl Trace for SyntheticModuleInitializer

source§

impl Trace for NativeFunction

source§

impl Trace for NativeFunctionObject

source§

impl Trace for JsArray

source§

impl Trace for JsArrayBuffer

source§

impl Trace for JsDataView

source§

impl Trace for JsDate

source§

impl Trace for JsFloat32Array

source§

impl Trace for JsFloat64Array

source§

impl Trace for JsFunction

source§

impl Trace for JsGenerator

source§

impl Trace for JsInt8Array

source§

impl Trace for JsInt16Array

source§

impl Trace for JsInt32Array

source§

impl Trace for JsMap

source§

impl Trace for JsMapIterator

source§

impl Trace for JsPromise

source§

impl Trace for JsProxy

source§

impl Trace for JsRegExp

source§

impl Trace for JsRevocableProxy

source§

impl Trace for JsSet

source§

impl Trace for JsSetIterator

source§

impl Trace for JsSharedArrayBuffer

source§

impl Trace for JsTypedArray

source§

impl Trace for JsUint8Array

source§

impl Trace for JsUint16Array

source§

impl Trace for JsUint32Array

source§

impl Trace for RootShape

source§

impl Trace for Shape

source§

impl Trace for SharedShape

source§

impl Trace for PrivateName

source§

impl Trace for PropertyMap

source§

impl Trace for HostDefined

source§

impl Trace for PropertyDescriptor

source§

impl Trace for Realm

source§

impl Trace for Script

source§

impl Trace for JsString

source§

impl Trace for JsSymbol

source§

impl Trace for CallFrame

source§

impl Trace for CodeBlock

source§

impl<K, V> Trace for Ephemeron<K, V>
where K: Trace + ?Sized, V: Trace,

source§

impl<K, V> Trace for WeakMap<K, V>
where K: Trace + 'static + ?Sized, V: Trace + 'static,

source§

impl<T> Trace for GcRefCell<T>
where T: Trace + ?Sized,

source§

impl<T> Trace for Gc<T>
where T: Trace + ?Sized,

source§

impl<T> Trace for WeakGc<T>
where T: Trace + 'static + ?Sized, Ephemeron<T, ()>: Trace,

source§

impl<T> Trace for Object<T>
where T: Trace + ?Sized,

source§

impl<T: NativeObject + ?Sized> Trace for JsObject<T>
where Gc<VTableObject<T>>: Trace,

source§

impl<V: Trace> Trace for OrderedMap<V>