ifsheldon / warrant

A guard macro like Swift guard

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

warrant

A macro 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 {
    return;
}
// proceed

After

use warrant::warrant;
let condition = is_satisfied();
warrant!(condition, else {
    return;
});
// proceed

warrant::warrant is also aliased as warrant::guard if you come from Swift and prefer guard.

License

MIT

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.

About

A guard macro like Swift guard

License:MIT License


Languages

Language:Rust 100.0%