diff options
Diffstat (limited to 'src/test/ui/borrowck/borrowck-vec-pattern-tail-element-loan.rs')
-rw-r--r-- | src/test/ui/borrowck/borrowck-vec-pattern-tail-element-loan.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/test/ui/borrowck/borrowck-vec-pattern-tail-element-loan.rs b/src/test/ui/borrowck/borrowck-vec-pattern-tail-element-loan.rs new file mode 100644 index 000000000..39872825c --- /dev/null +++ b/src/test/ui/borrowck/borrowck-vec-pattern-tail-element-loan.rs @@ -0,0 +1,14 @@ +fn a<'a>() -> &'a isize { + let vec = vec![1, 2, 3, 4]; + let vec: &[isize] = &vec; + let tail = match vec { + &[_a, ref tail @ ..] => &tail[0], + _ => panic!("foo") + }; + tail //~ ERROR cannot return value referencing local variable `vec` +} + +fn main() { + let fifth = a(); + println!("{}", *fifth); +} |