]> git.lizzy.rs Git - rust.git/blob - tests/ui/borrowck/borrowck-vec-pattern-element-loan.rs
Rollup merge of #106726 - cmorin6:fix-comment-typos, r=Nilstrieb
[rust.git] / tests / ui / borrowck / borrowck-vec-pattern-element-loan.rs
1 fn a<'a>() -> &'a [isize] {
2     let vec = vec![1, 2, 3, 4];
3     let vec: &[isize] = &vec;
4     let tail = match vec {
5         &[_, ref tail @ ..] => tail,
6         _ => panic!("a")
7     };
8     tail //~ ERROR cannot return value referencing local variable `vec`
9 }
10
11 fn b<'a>() -> &'a [isize] {
12     let vec = vec![1, 2, 3, 4];
13     let vec: &[isize] = &vec;
14     let init = match vec {
15         &[ref init @ .., _] => init,
16         _ => panic!("b")
17     };
18     init //~ ERROR cannot return value referencing local variable `vec`
19 }
20
21 fn c<'a>() -> &'a [isize] {
22     let vec = vec![1, 2, 3, 4];
23     let vec: &[isize] = &vec;
24     let slice = match vec {
25         &[_, ref slice @ .., _] => slice,
26         _ => panic!("c")
27     };
28     slice //~ ERROR cannot return value referencing local variable `vec`
29 }
30
31 fn main() {}