1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
// Option utilities.

use super::errors::*;

/// Option utility extensions.
pub trait OptionExt<T> {
    /// Converts Option to Result.
    fn into_result(self) -> Result<T>;
}

impl<T> OptionExt<T> for Option<T> {
    #[inline]
    fn into_result(self) -> Result<T> {
        match self {
            Some(value) => Ok(value),
            None => Err(ErrorKind::EmptyOption.into()),
        }
    }
}