From 31c30fedd5e5ad74cc1f66162d7e5c0e5e3cf420 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Thu, 16 Jul 2020 04:40:36 +0200 Subject: Remove unnecessary `Rc` in both `Element::map` --- native/src/overlay/element.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'native/src/overlay/element.rs') diff --git a/native/src/overlay/element.rs b/native/src/overlay/element.rs index 3d532126..e1fd9b88 100644 --- a/native/src/overlay/element.rs +++ b/native/src/overlay/element.rs @@ -1,7 +1,6 @@ pub use crate::Overlay; use crate::{layout, Clipboard, Event, Hasher, Layout, Point, Size, Vector}; -use std::rc::Rc; /// A generic [`Overlay`]. /// @@ -38,7 +37,7 @@ where /// Applies a transformation to the produced message of the [`Element`]. /// /// [`Element`]: struct.Element.html - pub fn map(self, f: Rc B>) -> Element<'a, B, Renderer> + pub fn map(self, f: &'a dyn Fn(Message) -> B) -> Element<'a, B, Renderer> where Message: 'a, Renderer: 'a, @@ -104,13 +103,13 @@ where struct Map<'a, A, B, Renderer> { content: Box + 'a>, - mapper: Rc B>, + mapper: &'a dyn Fn(A) -> B, } impl<'a, A, B, Renderer> Map<'a, A, B, Renderer> { pub fn new( content: Box + 'a>, - mapper: Rc B + 'static>, + mapper: &'a dyn Fn(A) -> B, ) -> Map<'a, A, B, Renderer> { Map { content, mapper } } -- cgit