From f7792d89d64c39cdde9da030bec80fb6f461a0e3 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Mon, 8 Nov 2021 15:32:58 +0700 Subject: Hide `Box` allocation in `component::view` ... we may be able to avoid it with generics in the future. --- examples/component/src/main.rs | 2 +- lazy/src/component.rs | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/component/src/main.rs b/examples/component/src/main.rs index 58d3f354..39335cf1 100644 --- a/examples/component/src/main.rs +++ b/examples/component/src/main.rs @@ -174,7 +174,7 @@ mod numeric_input { Renderer: text::Renderer + 'a, { fn from(numeric_input: NumericInput<'a, Message>) -> Self { - component::view(Box::new(numeric_input)) + component::view(numeric_input) } } } 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 + 'a>, +pub fn view<'a, C, Message, Renderer>( + component: C, ) -> Element<'a, Message, Renderer> where + C: Component + '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, -- cgit