Hide Box allocation in component::view
... we may be able to avoid it with generics in the future.
This commit is contained in:
parent
010b62b9ee
commit
f7792d89d6
2 changed files with 5 additions and 5 deletions
|
|
@ -174,7 +174,7 @@ mod numeric_input {
|
||||||
Renderer: text::Renderer + 'a,
|
Renderer: text::Renderer + 'a,
|
||||||
{
|
{
|
||||||
fn from(numeric_input: NumericInput<'a, Message>) -> Self {
|
fn from(numeric_input: NumericInput<'a, Message>) -> Self {
|
||||||
component::view(Box::new(numeric_input))
|
component::view(numeric_input)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,18 +10,18 @@ use iced_native::{
|
||||||
use ouroboros::self_referencing;
|
use ouroboros::self_referencing;
|
||||||
use std::marker::PhantomData;
|
use std::marker::PhantomData;
|
||||||
|
|
||||||
pub fn view<'a, Event, Message, Renderer>(
|
pub fn view<'a, C, Message, Renderer>(
|
||||||
component: Box<dyn Component<Message, Renderer, Event = Event> + 'a>,
|
component: C,
|
||||||
) -> Element<'a, Message, Renderer>
|
) -> Element<'a, Message, Renderer>
|
||||||
where
|
where
|
||||||
|
C: Component<Message, Renderer> + 'a,
|
||||||
Message: 'a,
|
Message: 'a,
|
||||||
Event: 'a,
|
|
||||||
Renderer: iced_native::Renderer + 'a,
|
Renderer: iced_native::Renderer + 'a,
|
||||||
{
|
{
|
||||||
Element::new(Instance {
|
Element::new(Instance {
|
||||||
state: Some(
|
state: Some(
|
||||||
StateBuilder {
|
StateBuilder {
|
||||||
component,
|
component: Box::new(component),
|
||||||
cache_builder: |state| Cache {
|
cache_builder: |state| Cache {
|
||||||
element: state.view(),
|
element: state.view(),
|
||||||
message: PhantomData,
|
message: PhantomData,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue