//! Test unreachable patterns involving deref patterns. #![feature(deref_patterns)] #![expect(incomplete_features)] #![deny(unreachable_patterns)] fn main() { match Box::new(false) { true => {} false => {} false => {} //~ ERROR unreachable pattern } match Box::new(Box::new(false)) { true => {} false => {} true => {} //~ ERROR unreachable pattern } match Box::new((true, Box::new(false))) { (true, _) => {} (_, true) => {} (false, false) => {} _ => {} //~ ERROR unreachable pattern } enum T { A, B, C } match Box::new((Box::new(T::A), Box::new(T::A))) { (T::A | T::B, T::A | T::C) => {} (T::A, T::C) => {} //~ ERROR unreachable pattern (T::B, T::A) => {} //~ ERROR unreachable pattern _ => {} } }