Closed
Description
This code does a use-after-free:
fn main() {
let msg;
match some(~"Hello") {
some(ref m) => {
msg = m;
},
none => { fail }
}
io::println(*msg);
}
Should it not compile? Or should liveness/borrowck ensure that the string live as long as the escaped reference?