//@ check-pass #![feature(never_patterns)] #![allow(incomplete_features)] #[derive(Copy, Clone)] enum Void {} fn main() { let res_void: Result = Ok(true); let (Ok(x) | Err(!)) = res_void; println!("{x}"); let (Ok(x) | Err(!)) = &res_void; println!("{x}"); let (Err(!) | Ok(x)) = res_void; println!("{x}"); match res_void { Ok(x) | Err(!) => println!("{x}"), } match res_void { Err(!) | Ok(x) => println!("{x}"), } let res_res_void: Result, Void> = Ok(Ok(true)); match res_res_void { Ok(Ok(x) | Err(!)) | Err(!) => println!("{x}"), } }