2e10ea58c3
The tail portion of the pattern effectively borrows a vector, but the borrow checker knew nothing about this. r=catamorphism
16 lines
279 B
Rust
16 lines
279 B
Rust
fn a() -> &[int] {
|
|
let vec = [1, 2, 3, 4];
|
|
let tail = match vec { //~ ERROR illegal borrow
|
|
[_a, ..tail] => tail,
|
|
_ => fail ~"foo"
|
|
};
|
|
move tail
|
|
}
|
|
|
|
fn main() {
|
|
let tail = a();
|
|
for tail.each |n| {
|
|
io::println(fmt!("%d", *n));
|
|
}
|
|
}
|