Почему нельзя сделать ссылку на память внутри условия?
fn foo(mut a: &Vec<i32>){
let mut c: Vec<i32>;
if a[0] == 0 {
c = vec![1; 3];
a = &c;
}
println!("{:?}",a);
}
fn main(){
let a:Vec<i32> = vec![0; 3];
foo(&a);
}
Ошибка:
main.rs:9:14: 9:15 error: `c` does not live long enough
main.rs:9 a = &c;
^
Источник: Stack Overflow на русском