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;
}