1 stable release
1.0.0 | Jun 17, 2024 |
---|
#19 in #returning
Used in 7 crates
(3 directly)
3KB
possibly
A single exported macro called possibly!()
, which works std::matches!()
but allowing to return a value when the values matches.
It can be useful if you want to use pattern matching without dealing with extra cases.
The result is wrapped inside an Option
.
Usage
use possibly::possibly;
enum MyEnum {
Foo(u32),
Bar
}
let value = MyEnum::Foo(1);
// basic usage with simple match arm
assert_eq!(
possibly!(value, MyEnum::Foo(b) => b),
Some(1)
);
// with match arm condition
assert_eq!(
possibly!(value, MyEnum::Foo(b) if i > 5 => b),
None
);