]> git.lizzy.rs Git - rust.git/blob - src/test/run-pass/match-pipe-binding.rs
rustdoc: Replace no-pretty-expanded with pretty-expanded
[rust.git] / src / test / run-pass / match-pipe-binding.rs
1 // Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
4 //
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
10
11 // pretty-expanded FIXME #23616
12
13 fn test1() {
14     // from issue 6338
15     match ((1, "a".to_string()), (2, "b".to_string())) {
16         ((1, a), (2, b)) | ((2, b), (1, a)) => {
17                 assert_eq!(a, "a".to_string());
18                 assert_eq!(b, "b".to_string());
19             },
20             _ => panic!(),
21     }
22 }
23
24 fn test2() {
25     match (1, 2, 3) {
26         (1, a, b) | (2, b, a) => {
27             assert_eq!(a, 2);
28             assert_eq!(b, 3);
29         },
30         _ => panic!(),
31     }
32 }
33
34 fn test3() {
35     match (1, 2, 3) {
36         (1, ref a, ref b) | (2, ref b, ref a) => {
37             assert_eq!(*a, 2);
38             assert_eq!(*b, 3);
39         },
40         _ => panic!(),
41     }
42 }
43
44 fn test4() {
45     match (1, 2, 3) {
46         (1, a, b) | (2, b, a) if a == 2 => {
47             assert_eq!(a, 2);
48             assert_eq!(b, 3);
49         },
50         _ => panic!(),
51     }
52 }
53
54 fn test5() {
55     match (1, 2, 3) {
56         (1, ref a, ref b) | (2, ref b, ref a) if *a == 2 => {
57             assert_eq!(*a, 2);
58             assert_eq!(*b, 3);
59         },
60         _ => panic!(),
61     }
62 }
63
64 pub fn main() {
65     test1();
66     test2();
67     test3();
68     test4();
69     test5();
70 }