If you're using Rust 1.88 or newer, check out if let
chains instead. This crate is still available for earlier versions of Rust.
This crate provides a single macro called if_chain!
.
if_chain!
lets you write long chains of nested if
and if let
statements without the associated rightward drift. It also supports multiple patterns (e.g. if let Foo(a) | Bar(a) = b
) in places where Rust would normally not allow them.
For more information on this crate, see the documentation and associated blog post.