2 unstable releases
0.1.0 | Mar 4, 2023 |
---|---|
0.0.0 | Feb 4, 2022 |
#2001 in Rust patterns
7KB
then
The standard library named bool::then_some
and bool::then
strangely.
It should have been then
and then_with
. I find it annoying that
expr.then(|| value)
is shorter to type that the more “idiomatic”
expr.then_some(value)
This crate provides these functions under the following names
.some
and .some_with
.
Getting started
First, add the crate to your Cargo manifest.
cargo add then
Now bring the trait into scope.
use then::Some;
The .some
and .some_with
methods are now available on bool
.
assert_eq!(false.some(0), None);
assert_eq!(true.some_with(Default::default), Some(0));
License
This project is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.