// Check shadowing in if let guards works as expected.
//@ check-pass

#![feature(if_let_guard)]
#![feature(let_chains)]

fn main() {
    let x: Option<Option<i32>> = Some(Some(6));
    match x {
        Some(x) if let Some(x) = x => {
            let _: i32 = x;
        }
        _ => {}
    }

    let y: Option<Option<Option<i32>>> = Some(Some(Some(-24)));
    match y {
        Some(y) if let Some(y) = y && let Some(y) = y => {
            let _: i32 = y;
        }
        _ => {}
    }
}
