Expand description
The Trace trait, which needs to be implemented on garbage-collected objects.
Increments the root-count of all contained Gc
s.
Decrements the root-count of all contained Gc
s.
Runs Finalize::finalize() on this object and all
contained subobjects
impl<Ret> Trace for extern "C" fn() -> Ret
impl<Ret> Trace for unsafe fn() -> Ret
impl<Ret> Trace for unsafe extern "C" fn() -> Ret
impl<Ret, A> Trace for fn(_: A) -> Ret
impl<Ret, A> Trace for extern "C" fn(_: A) -> Ret
impl<Ret, A> Trace for extern "C" fn(_: A, ...) -> Ret
impl<Ret, A> Trace for unsafe fn(_: A) -> Ret
impl<Ret, A> Trace for unsafe extern "C" fn(_: A) -> Ret
impl<Ret, A> Trace for unsafe extern "C" fn(_: A, ...) -> Ret
impl<Ret, A, B> Trace for fn(_: A, _: B) -> Ret
impl<Ret, A, B> Trace for extern "C" fn(_: A, _: B) -> Ret
impl<Ret, A, B> Trace for extern "C" fn(_: A, _: B, ...) -> Ret
impl<Ret, A, B> Trace for unsafe fn(_: A, _: B) -> Ret
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
impl<Ret, A, B, C> Trace for fn(_: A, _: B, _: C) -> Ret
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
impl<Ret, A, B, C> Trace for unsafe fn(_: A, _: B, _: C) -> Ret
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
impl<Ret, A, B, C, D> Trace for fn(_: A, _: B, _: C, _: D) -> Ret
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
impl<Ret, A, B, C, D> Trace for unsafe fn(_: A, _: B, _: C, _: D) -> Ret
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
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 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
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 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
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 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
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 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
impl<A: Trace, B: Trace, C: Trace, D: Trace, E: Trace, F: Trace> Trace for (A, B, C, D, E, F)
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 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
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 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
impl<A: Trace, B: Trace, C: Trace, D: Trace, E: Trace, F: Trace, G: Trace> Trace for (A, B, C, D, E, F, G)
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 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
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 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
impl<A: Trace, B: Trace, C: Trace, D: Trace, E: Trace, F: Trace, G: Trace, H: Trace> Trace for (A, B, C, D, E, F, G, H)
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 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
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 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
impl<A: Trace, B: Trace, C: Trace, D: Trace, E: Trace, F: Trace, G: Trace, H: Trace, I: Trace> Trace for (A, B, C, D, E, F, G, H, I)
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 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
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 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
impl<A: Trace, B: Trace, C: Trace, D: Trace, E: Trace, F: Trace, G: Trace, H: Trace, I: Trace, J: Trace> Trace for (A, B, C, D, E, F, G, H, I, J)
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 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
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 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
impl<A: Trace, B: Trace, C: Trace, D: Trace, E: Trace, F: Trace, G: Trace, H: Trace, I: Trace, J: Trace, K: Trace> Trace for (A, B, C, D, E, F, G, H, I, J, K)
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 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
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 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
impl<A: Trace, B: Trace, C: Trace, D: Trace, E: Trace, F: Trace, G: Trace, H: Trace, I: Trace, J: Trace, K: Trace, L: Trace> Trace for (A, B, C, D, E, F, G, H, I, J, K, L)