rust/src/test/ui/borrowck/borrowck-slice-pattern-element-loan-rpass.rs

25 lines
465 B
Rust
Raw Normal View History

// run-pass
2018-07-04 01:45:01 -05:00
//compile-flags: -Z borrowck=mir
#![feature(slice_patterns)]
fn mut_head_tail<'a, A>(v: &'a mut [A]) -> Option<(&'a mut A, &'a mut [A])> {
match *v {
[ref mut head, ref mut tail..] => {
Some((head, tail))
}
[] => None
}
}
fn main() {
let mut v = [1,2,3,4];
match mut_head_tail(&mut v) {
None => {},
Some((h,t)) => {
*h = 1000;
t.reverse();
}
}
}