fn main() {
let y = {
let mut z = 0;
&mut z
};
//~^^ ERROR `z` does not live long enough (Ast) [E0597]
//~| ERROR `z` does not live long enough (Mir) [E0597]
println!("{}", y);
}
// MIR for `main`
// source = MirSource { def_id: DefId(0/0:3 ~ issue_46471_1[317d]::main[0]), promoted: None }
// pass_name = nll
// disambiguator = 0
| Free Region Mapping
| '_#0r | Global | ['_#0r, '_#1r]
| '_#1r | Local | ['_#1r]
|
| Inferred Region Values
| '_#0r | {'_#0r, bb0[0..=29], bb1[0], bb2[0], bb3[0..=7], bb4[0..=18], bb5[0..=3], bb6[0..=10]}
| '_#1r | {'_#1r, bb0[0..=29], bb1[0], bb2[0], bb3[0..=7], bb4[0..=18], bb5[0..=3], bb6[0..=10]}
| '_#2r | {bb0[4..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#3r | {bb0[6..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#4r | {bb0[12..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#5r | {bb0[12..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#6r | {bb0[13..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#7r | {bb0[14..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#8r | {bb0[15..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#9r | {bb0[15..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#10r | {bb0[23..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#11r | {bb0[27..=28]}
| '_#12r | {bb0[25..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#13r | {bb0[25..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#14r | {bb3[4..=7], bb4[0..=18], bb5[0..=3]}
| '_#15r | {bb3[6]}
| '_#16r | {bb3[6]}
| '_#17r | {bb3[6]}
| '_#18r | {bb3[7]}
| '_#19r | {bb3[6..=7], bb4[0..=18], bb5[0..=3]}
| '_#20r | {bb3[7]}
| '_#21r | {bb3[6..=7], bb4[0..=18], bb5[0..=3]}
| '_#22r | {bb4[3..=18], bb5[0..=3]}
| '_#23r | {bb4[6..=18], bb5[0..=3]}
Example 1
Source
fn main() {
let y = {
let mut z = 0;
&mut z
};
//~^^ ERROR `z` does not live long enough (Ast) [E0597]
//~| ERROR `z` does not live long enough (Mir) [E0597]
println!("{}", y);
}
Mir dump
// MIR for `main`
// source = MirSource { def_id: DefId(0/0:3 ~ issue_46471_1[317d]::main[0]), promoted: None }
// pass_name = nll
// disambiguator = 0
| Free Region Mapping
| '_#0r | Global | ['_#0r, '_#1r]
| '_#1r | Local | ['_#1r]
|
| Inferred Region Values
| '_#0r | {'_#0r, bb0[0..=29], bb1[0], bb2[0], bb3[0..=7], bb4[0..=18], bb5[0..=3], bb6[0..=10]}
| '_#1r | {'_#1r, bb0[0..=29], bb1[0], bb2[0], bb3[0..=7], bb4[0..=18], bb5[0..=3], bb6[0..=10]}
| '_#2r | {bb0[4..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#3r | {bb0[6..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#4r | {bb0[12..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#5r | {bb0[12..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#6r | {bb0[13..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#7r | {bb0[14..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#8r | {bb0[15..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#9r | {bb0[15..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#10r | {bb0[23..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#11r | {bb0[27..=28]}
| '_#12r | {bb0[25..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#13r | {bb0[25..=29], bb3[0..=7], bb4[0..=18], bb5[0..=3]}
| '_#14r | {bb3[4..=7], bb4[0..=18], bb5[0..=3]}
| '_#15r | {bb3[6]}
| '_#16r | {bb3[6]}
| '_#17r | {bb3[6]}
| '_#18r | {bb3[7]}
| '_#19r | {bb3[6..=7], bb4[0..=18], bb5[0..=3]}
| '_#20r | {bb3[7]}
| '_#21r | {bb3[6..=7], bb4[0..=18], bb5[0..=3]}
| '_#22r | {bb4[3..=18], bb5[0..=3]}
| '_#23r | {bb4[6..=18], bb5[0..=3]}