about summary refs log tree commit diff
path: root/tests/ui/borrowck/rvalue-lifetime-match-equivalence-7660.rs
blob: 90526de14e7585bb744746eef5eaada04b4c4b67 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// https://github.com/rust-lang/rust/issues/7660
//@ run-pass
#![allow(unused_variables)]
// Regression test for issue 7660
// rvalue lifetime too short when equivalent `match` works

use std::collections::HashMap;

struct A(isize, isize);

pub fn main() {
    let mut m: HashMap<isize, A> = HashMap::new();
    m.insert(1, A(0, 0));

    let A(ref _a, ref _b) = m[&1];
    let (a, b) = match m[&1] { A(ref _a, ref _b) => (_a, _b) };
}