Trait neon::prelude::Finalize [−][src]
Expand description
Finalize is executed on the main JavaScript thread and executed immediately
before garbage collection.
Values contained by a JsBox
must implement Finalize
.
Examples
Finalize
provides a default implementation that does not perform any finalization.
struct Point(f64, f64); impl Finalize for Point {}
A finalize
method may be specified for performing clean-up operations before dropping
the contained value.
struct Point(f64, f64); impl Finalize for Point { fn finalize<'a, C: Context<'a>>(self, cx: &mut C) { let global = cx.global(); let emit = global .get(cx, "emit") .unwrap() .downcast::<JsFunction, _>(cx) .unwrap(); let args = vec![ cx.string("gc_point").upcast::<JsValue>(), cx.number(self.0).upcast(), cx.number(self.1).upcast(), ]; emit.call(cx, global, args).unwrap(); } }
Provided methods
Implementations on Foreign Types
impl Finalize for bool
[src]
impl Finalize for char
[src]
impl Finalize for i8
[src]
impl Finalize for i16
[src]
impl Finalize for i32
[src]
impl Finalize for i64
[src]
impl Finalize for isize
[src]
impl Finalize for u8
[src]
impl Finalize for u16
[src]
impl Finalize for u32
[src]
impl Finalize for u64
[src]
impl Finalize for usize
[src]
impl Finalize for f32
[src]
impl Finalize for f64
[src]
impl Finalize for String
[src]
impl Finalize for PathBuf
[src]
impl Finalize for ()
[src]
impl<T0: Finalize, T1: Finalize, T2: Finalize, T3: Finalize, T4: Finalize> Finalize for (T0, T1, T2, T3, T4)
[src]
impl<T0: Finalize, T1: Finalize, T2: Finalize, T3: Finalize, T4: Finalize> Finalize for (T0, T1, T2, T3, T4)
[src]impl<T0: Finalize, T1: Finalize, T2: Finalize, T3: Finalize, T4: Finalize, T5: Finalize> Finalize for (T0, T1, T2, T3, T4, T5)
[src]
impl<T0: Finalize, T1: Finalize, T2: Finalize, T3: Finalize, T4: Finalize, T5: Finalize> Finalize for (T0, T1, T2, T3, T4, T5)
[src]impl<T0: Finalize, T1: Finalize, T2: Finalize, T3: Finalize, T4: Finalize, T5: Finalize, T6: Finalize> Finalize for (T0, T1, T2, T3, T4, T5, T6)
[src]
impl<T0: Finalize, T1: Finalize, T2: Finalize, T3: Finalize, T4: Finalize, T5: Finalize, T6: Finalize> Finalize for (T0, T1, T2, T3, T4, T5, T6)
[src]impl<T0: Finalize, T1: Finalize, T2: Finalize, T3: Finalize, T4: Finalize, T5: Finalize, T6: Finalize, T7: Finalize> Finalize for (T0, T1, T2, T3, T4, T5, T6, T7)
[src]
impl<T0: Finalize, T1: Finalize, T2: Finalize, T3: Finalize, T4: Finalize, T5: Finalize, T6: Finalize, T7: Finalize> Finalize for (T0, T1, T2, T3, T4, T5, T6, T7)
[src]