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
unsafeoutside of the context of the garbage collector can result in Undefined Behaviour.
Required Methods§
Sourceunsafe fn trace_non_roots(&self)
unsafe fn trace_non_roots(&self)
Sourcefn run_finalizer(&self)
fn run_finalizer(&self)
Runs Finalize::finalize on this object and all
contained subobjects.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl Trace for ()
impl Trace for ()
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for Atomic<bool>
impl Trace for Atomic<bool>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for Atomic<i8>
impl Trace for Atomic<i8>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for Atomic<i16>
impl Trace for Atomic<i16>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for Atomic<i32>
impl Trace for Atomic<i32>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for Atomic<i64>
impl Trace for Atomic<i64>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for Atomic<isize>
impl Trace for Atomic<isize>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for Atomic<u8>
impl Trace for Atomic<u8>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for Atomic<u16>
impl Trace for Atomic<u16>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for Atomic<u32>
impl Trace for Atomic<u32>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for Atomic<u64>
impl Trace for Atomic<u64>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for Atomic<usize>
impl Trace for Atomic<usize>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for File
impl Trace for File
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for FileType
impl Trace for FileType
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for Instant
impl Trace for Instant
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for LanguageIdentifier
impl Trace for LanguageIdentifier
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for Locale
impl Trace for Locale
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for NonZero<i8>
impl Trace for NonZero<i8>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for NonZero<i16>
impl Trace for NonZero<i16>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for NonZero<i32>
impl Trace for NonZero<i32>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for NonZero<i64>
impl Trace for NonZero<i64>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for NonZero<i128>
impl Trace for NonZero<i128>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for NonZero<isize>
impl Trace for NonZero<isize>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for NonZero<u8>
impl Trace for NonZero<u8>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for NonZero<u16>
impl Trace for NonZero<u16>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for NonZero<u32>
impl Trace for NonZero<u32>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for NonZero<u64>
impl Trace for NonZero<u64>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for NonZero<u128>
impl Trace for NonZero<u128>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for NonZero<usize>
impl Trace for NonZero<usize>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for Path
impl Trace for Path
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for PathBuf
impl Trace for PathBuf
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for Rc<str>
impl Trace for Rc<str>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for String
impl Trace for String
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for Sym
impl Trace for Sym
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for SystemTime
impl Trace for SystemTime
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for TcpStream
impl Trace for TcpStream
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for TypeId
impl Trace for TypeId
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for UdpSocket
impl Trace for UdpSocket
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for bool
impl Trace for bool
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for char
impl Trace for char
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for f32
impl Trace for f32
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for f64
impl Trace for f64
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for i8
impl Trace for i8
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for i16
impl Trace for i16
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for i32
impl Trace for i32
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for i64
impl Trace for i64
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for i128
impl Trace for i128
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for isize
impl Trace for isize
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for str
impl Trace for str
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for u8
impl Trace for u8
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for u16
impl Trace for u16
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for u32
impl Trace for u32
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for u64
impl Trace for u64
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for u128
impl Trace for u128
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl Trace for usize
impl Trace for usize
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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)
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)
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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)
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)
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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)
impl<A, B, C, D, E, F, G, H, I, J> Trace for (A, B, C, D, E, F, G, H, I, J)
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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)
impl<A, B, C, D, E, F, G, H, I> Trace for (A, B, C, D, E, F, G, H, I)
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<A, B, C, D, E, F, G, H> Trace for (A, B, C, D, E, F, G, H)
impl<A, B, C, D, E, F, G, H> Trace for (A, B, C, D, E, F, G, H)
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<A, B, C, D, E, F, G> Trace for (A, B, C, D, E, F, G)
impl<A, B, C, D, E, F, G> Trace for (A, B, C, D, E, F, G)
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<A, B, C, D, E, F> Trace for (A, B, C, D, E, F)
impl<A, B, C, D, E, F> Trace for (A, B, C, D, E, F)
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<A, B, C, D, E> Trace for (A, B, C, D, E)
impl<A, B, C, D, E> Trace for (A, B, C, D, E)
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<A, B, C, D> Trace for (A, B, C, D)
impl<A, B, C, D> Trace for (A, B, C, D)
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<A, B, C> Trace for (A, B, C)
impl<A, B, C> Trace for (A, B, C)
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<A, B> Trace for (A, B)
impl<A, B> Trace for (A, B)
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<A> Trace for (A,)where
A: Trace,
impl<A> Trace for (A,)where
A: Trace,
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<K, V, S> Trace for HashMap<K, V, S>
impl<K, V, S> Trace for HashMap<K, V, S>
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<K, V, S> Trace for HashMap<K, V, S>
impl<K, V, S> Trace for HashMap<K, V, S>
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<K, V> Trace for BTreeMap<K, V>
impl<K, V> Trace for BTreeMap<K, V>
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<L, R> Trace for Either<L, R>
impl<L, R> Trace for Either<L, R>
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
impl<Ret, A, B, C, D, E, F, G, H, I> Trace for fn(A, B, C, D, E, F, G, H, I) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
impl<Ret, A, B, C, D, E, F, G, H> Trace for extern "C" fn(A, B, C, D, E, F, G, H) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
impl<Ret, A, B, C, D, E, F, G, H> Trace for extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
impl<Ret, A, B, C, D, E, F, G, H> Trace for fn(A, B, C, D, E, F, G, H) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
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
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
impl<Ret, A, B, C, D, E, F, G, H> Trace for unsafe fn(A, B, C, D, E, F, G, H) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
impl<Ret, A, B, C, D, E, F, G> Trace for extern "C" fn(A, B, C, D, E, F, G) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
impl<Ret, A, B, C, D, E, F, G> Trace for extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
impl<Ret, A, B, C, D, E, F, G> Trace for fn(A, B, C, D, E, F, G) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
impl<Ret, A, B, C, D, E, F, G> Trace for unsafe extern "C" fn(A, B, C, D, E, F, G) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
impl<Ret, A, B, C, D, E, F, G> Trace for unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
impl<Ret, A, B, C, D, E, F, G> Trace for unsafe fn(A, B, C, D, E, F, G) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
impl<Ret, A, B, C, D, E, F> Trace for extern "C" fn(A, B, C, D, E, F) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
impl<Ret, A, B, C, D, E, F> Trace for extern "C" fn(A, B, C, D, E, F, ...) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B, C, D, E, F> Trace for fn(A, B, C, D, E, F) -> Ret
impl<Ret, A, B, C, D, E, F> Trace for fn(A, B, C, D, E, F) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
impl<Ret, A, B, C, D, E, F> Trace for unsafe extern "C" fn(A, B, C, D, E, F) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
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
impl<Ret, A, B, C, D, E, F> Trace for unsafe extern "C" fn(A, B, C, D, E, F, ...) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B, C, D, E, F> Trace for unsafe fn(A, B, C, D, E, F) -> Ret
impl<Ret, A, B, C, D, E, F> Trace for unsafe fn(A, B, C, D, E, F) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B, C, D, E> Trace for extern "C" fn(A, B, C, D, E) -> Ret
impl<Ret, A, B, C, D, E> Trace for extern "C" fn(A, B, C, D, E) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B, C, D, E> Trace for extern "C" fn(A, B, C, D, E, ...) -> Ret
impl<Ret, A, B, C, D, E> Trace for extern "C" fn(A, B, C, D, E, ...) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B, C, D, E> Trace for fn(A, B, C, D, E) -> Ret
impl<Ret, A, B, C, D, E> Trace for fn(A, B, C, D, E) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B, C, D, E> Trace for unsafe extern "C" fn(A, B, C, D, E) -> Ret
impl<Ret, A, B, C, D, E> Trace for unsafe extern "C" fn(A, B, C, D, E) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B, C, D, E> Trace for unsafe extern "C" fn(A, B, C, D, E, ...) -> Ret
impl<Ret, A, B, C, D, E> Trace for unsafe extern "C" fn(A, B, C, D, E, ...) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B, C, D, E> Trace for unsafe fn(A, B, C, D, E) -> Ret
impl<Ret, A, B, C, D, E> Trace for unsafe fn(A, B, C, D, E) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B, C, D> Trace for extern "C" fn(A, B, C, D) -> Ret
impl<Ret, A, B, C, D> Trace for extern "C" fn(A, B, C, D) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B, C, D> Trace for extern "C" fn(A, B, C, D, ...) -> Ret
impl<Ret, A, B, C, D> Trace for extern "C" fn(A, B, C, D, ...) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B, C, D> Trace for fn(A, B, C, D) -> Ret
impl<Ret, A, B, C, D> Trace for fn(A, B, C, D) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B, C, D> Trace for unsafe extern "C" fn(A, B, C, D) -> Ret
impl<Ret, A, B, C, D> Trace for unsafe extern "C" fn(A, B, C, D) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B, C, D> Trace for unsafe extern "C" fn(A, B, C, D, ...) -> Ret
impl<Ret, A, B, C, D> Trace for unsafe extern "C" fn(A, B, C, D, ...) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B, C, D> Trace for unsafe fn(A, B, C, D) -> Ret
impl<Ret, A, B, C, D> Trace for unsafe fn(A, B, C, D) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B, C> Trace for extern "C" fn(A, B, C) -> Ret
impl<Ret, A, B, C> Trace for extern "C" fn(A, B, C) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B, C> Trace for extern "C" fn(A, B, C, ...) -> Ret
impl<Ret, A, B, C> Trace for extern "C" fn(A, B, C, ...) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B, C> Trace for fn(A, B, C) -> Ret
impl<Ret, A, B, C> Trace for fn(A, B, C) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B, C> Trace for unsafe extern "C" fn(A, B, C) -> Ret
impl<Ret, A, B, C> Trace for unsafe extern "C" fn(A, B, C) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B, C> Trace for unsafe extern "C" fn(A, B, C, ...) -> Ret
impl<Ret, A, B, C> Trace for unsafe extern "C" fn(A, B, C, ...) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B, C> Trace for unsafe fn(A, B, C) -> Ret
impl<Ret, A, B, C> Trace for unsafe fn(A, B, C) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B> Trace for extern "C" fn(A, B) -> Ret
impl<Ret, A, B> Trace for extern "C" fn(A, B) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B> Trace for extern "C" fn(A, B, ...) -> Ret
impl<Ret, A, B> Trace for extern "C" fn(A, B, ...) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B> Trace for fn(A, B) -> Ret
impl<Ret, A, B> Trace for fn(A, B) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B> Trace for unsafe extern "C" fn(A, B) -> Ret
impl<Ret, A, B> Trace for unsafe extern "C" fn(A, B) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B> Trace for unsafe extern "C" fn(A, B, ...) -> Ret
impl<Ret, A, B> Trace for unsafe extern "C" fn(A, B, ...) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A, B> Trace for unsafe fn(A, B) -> Ret
impl<Ret, A, B> Trace for unsafe fn(A, B) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A> Trace for extern "C" fn(A) -> Ret
impl<Ret, A> Trace for extern "C" fn(A) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A> Trace for extern "C" fn(A, ...) -> Ret
impl<Ret, A> Trace for extern "C" fn(A, ...) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A> Trace for fn(A) -> Ret
impl<Ret, A> Trace for fn(A) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A> Trace for unsafe extern "C" fn(A) -> Ret
impl<Ret, A> Trace for unsafe extern "C" fn(A) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A> Trace for unsafe extern "C" fn(A, ...) -> Ret
impl<Ret, A> Trace for unsafe extern "C" fn(A, ...) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret, A> Trace for unsafe fn(A) -> Ret
impl<Ret, A> Trace for unsafe fn(A) -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret> Trace for extern "C" fn() -> Ret
impl<Ret> Trace for extern "C" fn() -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret> Trace for fn() -> Ret
impl<Ret> Trace for fn() -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret> Trace for unsafe extern "C" fn() -> Ret
impl<Ret> Trace for unsafe extern "C" fn() -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<Ret> Trace for unsafe fn() -> Ret
impl<Ret> Trace for unsafe fn() -> Ret
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<T, E> Trace for Result<T, E>
impl<T, E> Trace for Result<T, E>
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<T, S> Trace for HashSet<T, S>
impl<T, S> Trace for HashSet<T, S>
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<T, const N: usize> Trace for ArrayVec<T, N>where
T: Trace,
Available on crate feature arrayvec only.
impl<T, const N: usize> Trace for ArrayVec<T, N>where
T: Trace,
Available on crate feature
arrayvec only.unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<T, const N: usize> Trace for [T; N]where
T: Trace,
impl<T, const N: usize> Trace for [T; N]where
T: Trace,
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<T> Trace for &'static Twhere
T: ?Sized,
impl<T> Trace for &'static Twhere
T: ?Sized,
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<T> Trace for BTreeSet<T>where
T: Trace,
impl<T> Trace for BTreeSet<T>where
T: Trace,
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<T> Trace for BinaryHeap<T>
impl<T> Trace for BinaryHeap<T>
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<T> Trace for Box<T>
impl<T> Trace for Box<T>
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<T> Trace for Box<[T]>where
T: Trace,
impl<T> Trace for Box<[T]>where
T: Trace,
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<T> Trace for Cell<T>
impl<T> Trace for Cell<T>
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<T> Trace for Cow<'static, T>
impl<T> Trace for Cow<'static, T>
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<T> Trace for LinkedList<T>
impl<T> Trace for LinkedList<T>
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<T> Trace for OnceCell<T>where
T: Trace,
impl<T> Trace for OnceCell<T>where
T: Trace,
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<T> Trace for Option<T>where
T: Trace,
impl<T> Trace for Option<T>where
T: Trace,
unsafe fn trace(&self, tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<T> Trace for PhantomData<T>
impl<T> Trace for PhantomData<T>
unsafe fn trace(&self, _tracer: &mut Tracer)
unsafe fn trace_non_roots(&self)
fn run_finalizer(&self)
Source§impl<T> Trace for ThinVec<T>where
T: Trace,
Available on crate feature thin-vec only.
impl<T> Trace for ThinVec<T>where
T: Trace,
Available on crate feature
thin-vec only.