diff options
author | 2020-07-16 04:40:36 +0200 | |
---|---|---|
committer | 2020-07-16 04:40:36 +0200 | |
commit | 31c30fedd5e5ad74cc1f66162d7e5c0e5e3cf420 (patch) | |
tree | 8e60d74bd80bb9f21569930e30272a61484258e5 /native | |
parent | 73d1353976e508d918206e2f61b6f45f551e0ff8 (diff) | |
download | iced-31c30fedd5e5ad74cc1f66162d7e5c0e5e3cf420.tar.gz iced-31c30fedd5e5ad74cc1f66162d7e5c0e5e3cf420.tar.bz2 iced-31c30fedd5e5ad74cc1f66162d7e5c0e5e3cf420.zip |
Remove unnecessary `Rc` in both `Element::map`
Diffstat (limited to 'native')
-rw-r--r-- | native/src/element.rs | 7 | ||||
-rw-r--r-- | native/src/overlay/element.rs | 7 |
2 files changed, 6 insertions, 8 deletions
diff --git a/native/src/element.rs b/native/src/element.rs index a1320f18..514a135b 100644 --- a/native/src/element.rs +++ b/native/src/element.rs @@ -2,7 +2,6 @@ use crate::{ layout, overlay, Clipboard, Color, Event, Hasher, Layout, Length, Point, Widget, }; -use std::rc::Rc; /// A generic [`Widget`]. /// @@ -286,7 +285,7 @@ where struct Map<'a, A, B, Renderer> { widget: Box<dyn Widget<A, Renderer> + 'a>, - mapper: Rc<dyn Fn(A) -> B>, + mapper: Box<dyn Fn(A) -> B>, } impl<'a, A, B, Renderer> Map<'a, A, B, Renderer> { @@ -299,7 +298,7 @@ impl<'a, A, B, Renderer> Map<'a, A, B, Renderer> { { Map { widget, - mapper: Rc::new(mapper), + mapper: Box::new(mapper), } } } @@ -370,7 +369,7 @@ where &mut self, layout: Layout<'_>, ) -> Option<overlay::Element<'_, B, Renderer>> { - let mapper = self.mapper.clone(); + let mapper = &self.mapper; self.widget .overlay(layout) 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<B>(self, f: Rc<dyn Fn(Message) -> B>) -> Element<'a, B, Renderer> + pub fn map<B>(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<dyn Overlay<A, Renderer> + 'a>, - mapper: Rc<dyn Fn(A) -> B>, + mapper: &'a dyn Fn(A) -> B, } impl<'a, A, B, Renderer> Map<'a, A, B, Renderer> { pub fn new( content: Box<dyn Overlay<A, Renderer> + 'a>, - mapper: Rc<dyn Fn(A) -> B + 'static>, + mapper: &'a dyn Fn(A) -> B, ) -> Map<'a, A, B, Renderer> { Map { content, mapper } } |