summaryrefslogtreecommitdiffstats
path: root/tests/ui/regions/regions-reassign-let-bound-pointer.rs
blob: 948b11e0f3023967633af9979b6c60e9ad6ce401 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 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;
    let mut z = x;
    z = &a;
}

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