about summary refs log tree commit diff
path: root/tests/ui/array-slice-vec/vector-slice-matching-8498.rs
blob: e243a247ed5189021652eb39c97ae40cde14e649 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// https://github.com/rust-lang/rust/issues/8498
//@ run-pass

pub fn main() {
    match &[(Box::new(5),Box::new(7))] {
        ps => {
           let (ref y, _) = ps[0];
           assert_eq!(**y, 5);
        }
    }

    match Some(&[(Box::new(5),)]) {
        Some(ps) => {
           let (ref y,) = ps[0];
           assert_eq!(**y, 5);
        }
        None => ()
    }

    match Some(&[(Box::new(5),Box::new(7))]) {
        Some(ps) => {
           let (ref y, ref z) = ps[0];
           assert_eq!(**y, 5);
           assert_eq!(**z, 7);
        }
        None => ()
    }
}