From 2c93ed2286251f0f3677c3b5f361921a8d278498 Mon Sep 17 00:00:00 2001 From: Matt Hunzinger Date: Mon, 11 Dec 2023 07:37:54 -0500 Subject: [PATCH] Clean up --- README.md | 3 +-- examples/counter.rs | 3 +-- src/lib.rs | 28 +++------------------------- src/slot.rs | 24 ++++++++++++++++++++++++ 4 files changed, 29 insertions(+), 29 deletions(-) create mode 100644 src/slot.rs diff --git a/README.md b/README.md index 1b9a867..727dccc 100644 --- a/README.md +++ b/README.md @@ -53,8 +53,7 @@ fn main() { a.set(2); - for _ in 0..3 { - Runtime::current().run(); + for _ in 0..2 { Runtime::current().run(); } } diff --git a/examples/counter.rs b/examples/counter.rs index 7d64a13..7dd9779 100644 --- a/examples/counter.rs +++ b/examples/counter.rs @@ -26,8 +26,7 @@ fn main() { a.set(2); - for _ in 0..3 { - Runtime::current().run(); + for _ in 0..2 { Runtime::current().run(); } } diff --git a/src/lib.rs b/src/lib.rs index d1de4e4..c82a9b5 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -23,6 +23,9 @@ pub use rt::Runtime; mod signal; pub use self::signal::Signal; +mod slot; +pub use self::slot::Slot; + pub struct Window {} #[object] @@ -70,28 +73,3 @@ impl App { }); } } - -pub trait Slot { - fn handle(&mut self, object: &mut O, data: D); -} - -macro_rules! impl_slot { - ($($t:tt),*) => { - impl Slot for F { - fn handle(&mut self, object: &mut O, data: ($($t),*,)) { - #[allow(non_snake_case)] - let ($($t),*,) = data; - self(object, $($t),*) - } - } - }; -} - -impl_slot!(T1); -impl_slot!(T1, T2); -impl_slot!(T1, T2, T3); -impl_slot!(T1, T2, T3, T4); -impl_slot!(T1, T2, T3, T4, T5); -impl_slot!(T1, T2, T3, T4, T5, T6); -impl_slot!(T1, T2, T3, T4, T5, T6, T7); -impl_slot!(T1, T2, T3, T4, T5, T6, T7, T8); diff --git a/src/slot.rs b/src/slot.rs new file mode 100644 index 0000000..ad637b3 --- /dev/null +++ b/src/slot.rs @@ -0,0 +1,24 @@ +pub trait Slot { + fn handle(&mut self, object: &mut O, data: D); +} + +macro_rules! impl_slot { + ($($t:tt),*) => { + impl Slot for F { + fn handle(&mut self, object: &mut O, data: ($($t),*,)) { + #[allow(non_snake_case)] + let ($($t),*,) = data; + self(object, $($t),*) + } + } + }; +} + +impl_slot!(T1); +impl_slot!(T1, T2); +impl_slot!(T1, T2, T3); +impl_slot!(T1, T2, T3, T4); +impl_slot!(T1, T2, T3, T4, T5); +impl_slot!(T1, T2, T3, T4, T5, T6); +impl_slot!(T1, T2, T3, T4, T5, T6, T7); +impl_slot!(T1, T2, T3, T4, T5, T6, T7, T8);