// Check shadowing in if let guards works as expected. // check-pass #![feature(if_let_guard)] #![feature(let_chains)] fn main() { let x: Option> = Some(Some(6)); match x { Some(x) if let Some(x) = x => { let _: i32 = x; } _ => {} } let y: Option>> = Some(Some(Some(-24))); match y { Some(y) if let Some(y) = y && let Some(y) = y => { let _: i32 = y; } _ => {} } }