Expand description
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 thenNow 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));