Re-ordering the transition macros should cause the compiler to detect unreachable arms. I've posted this issue to the Rust forum: https://users.rust-lang.org/t/proc-macro-not-showing-unreachable-match-arm/79361