From 22b36dc8e3324251f37b4a821ed28be3d499e3ee Mon Sep 17 00:00:00 2001 From: Sanpi Date: Mon, 13 Apr 2020 21:37:29 +0200 Subject: [PATCH] Adds type hinting in connect! macro Fixes #194 --- relm-examples/examples/menu.rs | 2 +- src/macros.rs | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/relm-examples/examples/menu.rs b/relm-examples/examples/menu.rs index 0b071983..dcc55b2f 100644 --- a/relm-examples/examples/menu.rs +++ b/relm-examples/examples/menu.rs @@ -52,7 +52,7 @@ impl Widget for Win { file_menu.append(&quit_item); self.menubar.show_all(); - connect!(quit_item, connect_activate(_), self.model.relm, Quit); + connect!(self.model.relm, quit_item, connect_activate(_), Quit); } fn model(relm: &Relm, _: ()) -> Model { diff --git a/src/macros.rs b/src/macros.rs index b5729229..2804161a 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -37,7 +37,8 @@ macro_rules! connect { // Connect to a GTK+ widget event, sending a message to another widget. ($widget:expr, $event:ident($($args:pat),*), $other_component:expr, $msg:expr) => { - $crate::connect_stream!($widget, $event($($args),*), $other_component.stream(), $msg); + #[inline(always)] fn stream(c: &relm::Component) -> &relm::EventStream {c.stream()} + $crate::connect_stream!($widget, $event($($args),*), stream(&$other_component), $msg); }; // Connect to a GTK+ widget event.