rust/src/test/compile-fail/borrowck-no-cycle-in-exchange-heap.rs

15 lines
357 B
Rust

enum cycle {
node({mut a: ~cycle}),
empty
}
fn main() {
let x = ~node({mut a: ~empty});
// Create a cycle!
match *x { //~ NOTE loan of immutable local variable granted here
node(ref y) => {
y.a = move x; //~ ERROR moving out of immutable local variable prohibited due to outstanding loan
}
empty => {}
};
}