warrant
A guard macro that is like guard
in Swift.
It helps to better express code logic without mind twists when checking conditions.
It implements what I termed "procedural warranty".
Usages
Add warrant = "0.1.0"
to your Cargo.toml
.
Before
// if some condition is not satisfied, early return.
let condition = is_satisfied;
if ! condition
// proceed
After
use warrant;
let condition = is_satisfied;
warrant!;
// proceed
warrant::warrant
is also aliased as warrant::guard
if you come from Swift and prefer guard
.
License
Additional References
- Pattern Matched Guard: consider just use
if-let-else
- "Structural Warranty": to enforce a condition on a struct, nutype is a good one.