Trait Trace

Source
pub unsafe trait Trace: 'static {
    // Required method
    unsafe fn visit_children(&self, visitor: fn(OpaqueGcPtr));

    // Provided method
    unsafe fn finalize(&mut self) { ... }
}
Expand description

§Safety

This trait should not be manually implemented!

Required Methods§

Source

unsafe fn visit_children(&self, visitor: fn(OpaqueGcPtr))

§Safety

This function may ONLY be called by the garbage collector! Calling this function ANYWHERE ELSE is a RACE CONDITION!

DO NOT CALL THIS FUNCTION!!

Provided Methods§

Source

unsafe fn finalize(&mut self)

§Safety

This function may ONLY be called by the garbage collector! Calling this function ANYWHERE ELSE is a RACE CONDITION!

DO NOT CALL THIS FUNCTION!!

Implementations on Foreign Types§

Source§

impl Trace for &'static str

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl Trace for bool

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl Trace for char

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl Trace for f32

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl Trace for f64

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl Trace for i8

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl Trace for i16

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl Trace for i32

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl Trace for i64

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl Trace for i128

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl Trace for isize

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl Trace for u8

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl Trace for u16

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl Trace for u32

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl Trace for u64

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl Trace for u128

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl Trace for ()

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl Trace for usize

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl Trace for String

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

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

Source§

unsafe fn visit_children(&self, visitor: fn(OpaqueGcPtr))

Source§

unsafe fn finalize(&mut self)

Source§

impl<A: 'static, B: 'static, O: 'static> Trace for fn(A, B) -> O

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl<A: 'static, O: 'static> Trace for fn(A) -> O

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl<K> Trace for BTreeSet<K>
where K: GcOrTrace,

Source§

unsafe fn visit_children(&self, visitor: fn(OpaqueGcPtr))

Source§

unsafe fn finalize(&mut self)

Source§

impl<K> Trace for HashSet<K>
where K: GcOrTrace,

Source§

unsafe fn visit_children(&self, visitor: fn(OpaqueGcPtr))

Source§

unsafe fn finalize(&mut self)

Source§

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

Source§

unsafe fn visit_children(&self, visitor: fn(OpaqueGcPtr))

Source§

unsafe fn finalize(&mut self)

Source§

impl<K, V> Trace for HashMap<K, V>
where K: GcOrTrace, V: GcOrTrace,

Source§

unsafe fn visit_children(&self, visitor: fn(OpaqueGcPtr))

Source§

unsafe fn finalize(&mut self)

Source§

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

Source§

unsafe fn visit_children(&self, visitor: fn(OpaqueGcPtr))

Source§

unsafe fn finalize(&mut self)

Source§

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

Source§

unsafe fn visit_children(&self, visitor: fn(OpaqueGcPtr))

Source§

unsafe fn finalize(&mut self)

Source§

impl<T> Trace for Box<T>
where T: GcOrTrace,

Source§

unsafe fn visit_children(&self, visitor: fn(OpaqueGcPtr))

Source§

unsafe fn finalize(&mut self)

Source§

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

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

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

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

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

Source§

unsafe fn visit_children(&self, visitor: fn(OpaqueGcPtr))

Source§

unsafe fn finalize(&mut self)

Source§

impl<T> Trace for Mutex<T>
where T: GcOrTrace,

Source§

unsafe fn visit_children(&self, visitor: fn(OpaqueGcPtr))

Source§

impl<T> Trace for Shared<T>
where T: Future + 'static,

Source§

unsafe fn visit_children(&self, _visitor: fn(OpaqueGcPtr))

Source§

impl<T> Trace for Mutex<T>
where T: GcOrTrace,

Source§

unsafe fn visit_children(&self, visitor: fn(OpaqueGcPtr))

Source§

impl<T> Trace for RwLock<T>
where T: GcOrTrace,

Source§

unsafe fn visit_children(&self, visitor: fn(OpaqueGcPtr))

Implementors§

Source§

impl Trace for Define

Source§

impl Trace for Formals

Source§

impl Trace for Literal

Source§

impl Trace for Env

Source§

impl Trace for Pattern

Source§

impl Trace for Template

Source§

impl Trace for Number

Source§

impl Trace for Syntax

Source§

impl Trace for Value

Source§

impl Trace for And

Source§

impl Trace for Apply

Source§

impl Trace for Body

Source§

impl Trace for ByteVector

Source§

impl Trace for Call

Source§

impl Trace for DefineFunc

Source§

impl Trace for DefineSyntax

Source§

impl Trace for DefineVar

Source§

impl Trace for FetchVar

Source§

impl Trace for If

Source§

impl Trace for Lambda

Source§

impl Trace for Let

Source§

impl Trace for MacroExpansionPoint

Source§

impl Trace for Or

Source§

impl Trace for Quote

Source§

impl Trace for Set

Source§

impl Trace for SyntaxCase

Source§

impl Trace for SyntaxQuote

Source§

impl Trace for SyntaxRules

Source§

impl Trace for Vector

Source§

impl Trace for CallWithValues

Source§

impl Trace for CatchContinuationCall

Source§

impl Trace for Continuation

Source§

impl Trace for ResumableAnd

Source§

impl Trace for ResumableApply

Source§

impl Trace for ResumableBody

Source§

impl Trace for ResumableCall

Source§

impl Trace for ResumableDefineVar

Source§

impl Trace for ResumableIf

Source§

impl Trace for ResumableLet

Source§

impl Trace for ResumableOr

Source§

impl Trace for ResumableSet

Source§

impl Trace for ResumableSyntaxCase

Source§

impl Trace for ExpansionContext

Source§

impl Trace for LexicalContour

Source§

impl Trace for SyntaxRule

Source§

impl Trace for Transformer

Source§

impl Trace for ExternalFn

Source§

impl Trace for Procedure

Source§

impl Trace for Identifier

Source§

impl Trace for Mark

Source§

impl Trace for Span

Source§

impl<T: Trace> Trace for ArcSlice<T>