diff options
author | 2021-11-08 15:32:58 +0700 | |
---|---|---|
committer | 2021-11-29 15:04:13 +0700 | |
commit | f7792d89d64c39cdde9da030bec80fb6f461a0e3 (patch) | |
tree | 3b41c97fdfb1c832789a2034f5be7a8afa2ac801 /lazy | |
parent | 010b62b9ee20b03053ab538a5910795bc0618378 (diff) | |
download | iced-f7792d89d64c39cdde9da030bec80fb6f461a0e3.tar.gz iced-f7792d89d64c39cdde9da030bec80fb6f461a0e3.tar.bz2 iced-f7792d89d64c39cdde9da030bec80fb6f461a0e3.zip |
Hide `Box` allocation in `component::view`
... we may be able to avoid it with generics in the future.
Diffstat (limited to 'lazy')
-rw-r--r-- | lazy/src/component.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lazy/src/component.rs b/lazy/src/component.rs index 04832d9d..6d57a2a9 100644 --- a/lazy/src/component.rs +++ b/lazy/src/component.rs @@ -10,18 +10,18 @@ use iced_native::{ use ouroboros::self_referencing; use std::marker::PhantomData; -pub fn view<'a, Event, Message, Renderer>( - component: Box<dyn Component<Message, Renderer, Event = Event> + 'a>, +pub fn view<'a, C, Message, Renderer>( + component: C, ) -> Element<'a, Message, Renderer> where + C: Component<Message, Renderer> + 'a, Message: 'a, - Event: 'a, Renderer: iced_native::Renderer + 'a, { Element::new(Instance { state: Some( StateBuilder { - component, + component: Box::new(component), cache_builder: |state| Cache { element: state.view(), message: PhantomData, |