1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
pub trait FromRef<T> { fn from_ref(_: &T) -> Self; } impl<T, U> FromRef<T> for U where T: Clone, U: From<T>, { fn from_ref(value: &T) -> Self { Self::from(value.clone()) } } pub trait Into<T> { fn into(self) -> T; }