//@ check-pass

fn macros() {
    macro_rules! foo {
        ($p:pat, $e:expr, $b:block) => {{
            if let $p = $e $b
            //~^ WARN irrefutable `if let`
            //~| WARN irrefutable `if let`
        }}
    }
    macro_rules! bar{
        ($p:pat, $e:expr, $b:block) => {{
            foo!($p, $e, $b)
        }}
    }

    foo!(a, 1, {
        println!("irrefutable pattern");
    });
    bar!(a, 1, {
        println!("irrefutable pattern");
    });
}

pub fn main() {
    if let a = 1 { //~ WARN irrefutable `if let`
        println!("irrefutable pattern");
    }

    if let a = 1 { //~ WARN irrefutable `if let`
        println!("irrefutable pattern");
    } else if true {
        println!("else-if in irrefutable `if let`");
    } else {
        println!("else in irrefutable `if let`");
    }

    if let 1 = 2 {
        println!("refutable pattern");
    } else if let a = 1 { //~ WARN irrefutable `if let`
        println!("irrefutable pattern");
    }

    if true {
        println!("if");
    } else if let a = 1 { //~ WARN irrefutable `if let`
        println!("irrefutable pattern");
    }
}
