use crate::Widget; pub struct Element<'a, Message, Renderer> { widget: Box + 'a>, } impl<'a, Message, Renderer> Element<'a, Message, Renderer> { pub fn new(widget: impl Widget + 'a) -> Self { Self { widget: Box::new(widget), } } pub fn as_widget(&self) -> &dyn Widget { self.widget.as_ref() } pub fn as_widget_mut(&mut self) -> &mut dyn Widget { self.widget.as_mut() } }