1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
use crate::view::View; /// Represents a type that can be made into a `Box<View>`. pub trait IntoBoxedView { /// Returns a `Box<View>`. fn as_boxed_view(self) -> Box<dyn View>; } impl<T> IntoBoxedView for T where T: View, { fn as_boxed_view(self) -> Box<dyn View> { Box::new(self) } } impl IntoBoxedView for Box<dyn View> { fn as_boxed_view(self) -> Box<dyn View> { self } }