#options #utility #no-std

no-std imply_option

提供单个 trait,允许根据布尔值构建一个 Option

3个版本

使用旧版Rust 2015

0.1.2 2018年6月14日
0.1.1 2018年6月14日
0.1.0 2018年6月14日

#77 in #option

0BSD 许可证

3KB

这是此RFC的实现。

提供单个 trait,允许根据布尔值构建一个 Option

extern crate imply_option;

use imply_option::*;

fn main() {
    let pass = true;

    assert_eq!(pass.then(1), Some(1));
    assert_eq!(pass.then_do(|| 1), Some(1));

    let fail = false;

    assert_eq!(fail.then(1), None);
}

lib.rs:

这是此RFC的实现。

提供单个 trait,允许根据布尔值构建一个 Option

extern crate imply_option;

use imply_option::*;

fn main() {
    let pass = true;

    assert_eq!(pass.then(1), Some(1));
    assert_eq!(pass.then_do(|| 1), Some(1));

    let fail = false;

    assert_eq!(fail.then(1), None);
}

无运行时依赖