pub trait AsNum {
// Required methods
fn as_num<Dest>(self) -> Dest
where Self: AsNumInternal<Dest>,
Dest: AsNumInternal<Self> + Debug;
fn checked_as_num<Dest>(self) -> Option<Dest>
where Self: AsNumInternal<Dest>,
Dest: AsNumInternal<Self> + Debug;
fn assert_convertible_back<Dest>(self)
where Self: AsNumInternal<Dest>,
Dest: AsNumInternal<Self> + Debug;
}