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}