// check-fail // known-bug: #104034 #![feature(exhaustive_patterns, never_type)] mod inner { pub struct Wrapper(T); } enum Either { A(A), B(inner::Wrapper), } fn foo() -> Either<(), !> { Either::A(()) } fn main() { let Either::A(()) = foo(); }