1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
use 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<View>; } impl<T> IntoBoxedView for T where T: View, { fn as_boxed_view(self) -> Box<View> { Box::new(self) } } impl IntoBoxedView for Box<View> { fn as_boxed_view(self) -> Box<View> { self } }