// check-pass enum Outer { A(T) } enum Inner { A(i32) } type OuterAlias = Outer; fn ice(x: OuterAlias) { // Fine match x { OuterAlias::A(Inner::A(_)) => (), } // Not fine match x { OuterAlias::A(Inner::A(y)) => (), } } fn main() {}