rust/src/test/compile-fail/borrowck-vec-pattern-element-loan.rs
Niko Matsakis 2e10ea58c3 Integrate vec patterns into borrow checker.
The tail portion of the pattern effectively borrows a vector,
but the borrow checker knew nothing about this.

r=catamorphism
2013-01-28 10:00:32 -08:00

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));
}
}