summaryrefslogtreecommitdiffstats
path: root/tests/ui/regions/regions-reassign-match-bound-pointer.rs
blob: ca52659c4db140563348f0286e8a37ef8d1cccf7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// run-pass
#![allow(unused_assignments)]
#![allow(unused_variables)]
// Check that the type checker permits us to reassign `z` which
// started out with a longer lifetime and was reassigned to a shorter
// one (it should infer to be the intersection).

// pretty-expanded FIXME #23616

fn foo(x: &isize) {
    let a = 1;
    match x {
        mut z => {
            z = &a;
        }
    }
}

pub fn main() {
    foo(&1);
}