pub trait EprintErr{ fn is_err(&self) -> String; } impl <T, E> EprintErr for Result<T, E> { fn is_err(&self) -> String { "is_err".into() } } fn main() { let smth: Result<_, ()> = Ok(123); assert_eq!(smth.is_err(), false); assert_eq!(<Result<_, ()> as EprintErr>::is_err(&smth), "is_err".to_string()); }
Обсуждают сегодня