1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
use std::convert::TryInto;
use std::fmt;
pub trait To {
fn to<T>(self) -> T
where Self: Into<T> + Sized {
self.into()
}
}
impl<T> To for T {}
pub trait TryTo {
fn try_to<T>(self) -> T
where Self: TryInto<T> + Sized,
<Self as TryInto<T>>::Error: fmt::Debug {
self.try_into().unwrap()
}
}
impl<T> TryTo for T {}