summaryrefslogtreecommitdiffstats
path: root/tests/ui/rfcs/rfc-2294-if-let-guard/guard-lifetime-2.rs
blob: aa2154e3e9e257326a04d8b8287729f1925f3700 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// References to by-mutable-ref bindings in an if-let guard *can* be used after the guard.

// check-pass

#![feature(if_let_guard)]

fn main() {
    let mut x: Option<Option<String>> = Some(Some(String::new()));
    match x {
        Some(ref mut y) if let Some(ref z) = *y => {
            let _z: &String = z;
            let _y: &mut Option<String> = y;
        }
        _ => {}
    }
}