1 #![feature(slice_patterns)]
3 fn a<'a>() -> &'a [isize] {
4 let vec = vec![1, 2, 3, 4];
5 let vec: &[isize] = &vec;
7 &[_, ref tail @ ..] => tail,
10 tail //~ ERROR cannot return value referencing local variable `vec`
13 fn b<'a>() -> &'a [isize] {
14 let vec = vec![1, 2, 3, 4];
15 let vec: &[isize] = &vec;
16 let init = match vec {
17 &[ref init @ .., _] => init,
20 init //~ ERROR cannot return value referencing local variable `vec`
23 fn c<'a>() -> &'a [isize] {
24 let vec = vec![1, 2, 3, 4];
25 let vec: &[isize] = &vec;
26 let slice = match vec {
27 &[_, ref slice @ .., _] => slice,
30 slice //~ ERROR cannot return value referencing local variable `vec`