obrewin_utils/
into_option.rs

1/// Convenient trait to convert to `Option<T>`.
2/// `IntoOption<T> for F` is automatically implemented
3/// if `TryInto<T> for F` is implemented.
4pub trait IntoOption<T> {
5    fn into_option(self) -> Option<T>;
6}
7
8impl<T, F> IntoOption<T> for F
9where
10    T: TryFrom<F>,
11{
12    fn into_option(self) -> Option<T> {
13        self.try_into().ok()
14    }
15}