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.