]>
git.proxmox.com Git - rustc.git/blob - src/test/ui/borrowck/borrowck-vec-pattern-element-loan.rs
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`