rust/src/test/compile-fail/borrowck-vec-pattern-tail-element-loan.rs
Björn Steinbrink bdc182cc41 Use static string with fail!() and remove fail!(fmt!())
fail!() used to require owned strings but can handle static strings
now. Also, it can pass its arguments to fmt!() on its own, no need for
the caller to call fmt!() itself.
2013-05-14 16:36:23 +02:00

14 lines
274 B
Rust

fn a() -> &int {
let vec = [1, 2, 3, 4];
let tail = match vec {
[_a, ..tail] => &tail[0], //~ ERROR borrowed value does not live long enough
_ => fail!("foo")
};
tail
}
fn main() {
let fifth = a();
io::println(fmt!("%d", *fifth));
}