| // 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); | |
| } |