blob: d292efa3213858cb287d5269db531dbf8e7d507e [file] [log] [blame]
David Tolnay055a7042016-10-02 19:23:54 -07001fn closure() {
David Tolnay89e05672016-10-02 14:39:42 -07002 (
3 || (),
4 |_| (),
5 || -> () { () },
6 |a| a,
7 |a, b| a + b,
8 |a: u8, b: u8| a + b,
9 |a, b| -> u8 { a + b },
David Tolnayfbb73232016-10-03 01:00:06 -070010 |(a, b): (u8, u8)| a + b,
11 |(.., b): (u8, u8)| a + b,
12 |(a, ..): (u8, u8)| a + b,
13 |(a, .., b): (u8, u8)| a + b,
David Tolnay89e05672016-10-02 14:39:42 -070014 move |a, b| a + b,
15 )
David Tolnay42602292016-10-01 22:25:45 -070016}
David Tolnay9636c052016-10-02 17:11:17 -070017
18fn ascript() {
19 (
20 G::<u8>::f::<S>(),
21 <G<u8> as m::Trait<u8>>::Assoc::f::<S>(),
22 )
23}
David Tolnay3c2467c2016-10-02 17:55:08 -070024
25fn conditional() {
26 if a == b {
27 0
28 } else if a > b {
29 1
30 } else {
31 -1
David Tolnay29f9ce12016-10-02 20:58:40 -070032 };
33
34 if let a = b {
35 0
36 } else if c {
37 1
38 } else if let d = e {
39 -1
40 };
David Tolnay3c2467c2016-10-02 17:55:08 -070041}
David Tolnay191e0582016-10-02 18:31:09 -070042
David Tolnaybb6feae2016-10-02 21:25:20 -070043fn looping() {
44 loop {
45 print(a);
David Tolnaycfe55022016-10-02 22:02:27 -070046 }
David Tolnaybb6feae2016-10-02 21:25:20 -070047
48 while true {
49 print(a);
David Tolnaycfe55022016-10-02 22:02:27 -070050 }
David Tolnaybb6feae2016-10-02 21:25:20 -070051
52 while let a = true {
53 print(a);
David Tolnaycfe55022016-10-02 22:02:27 -070054 }
David Tolnaybb6feae2016-10-02 21:25:20 -070055
56 for a in b {
57 print(a);
David Tolnaycfe55022016-10-02 22:02:27 -070058 }
David Tolnaybb6feae2016-10-02 21:25:20 -070059}
60
David Tolnay191e0582016-10-02 18:31:09 -070061fn item() {
62 struct S;
63
64 let a = 1;
65 let a: u8 = 1;
66 let mut a = 1;
67}
David Tolnay055a7042016-10-02 19:23:54 -070068
69fn expr() {
70 fallible()?;
71
72 [repeat; 1 + 1];
73
74 A::B {};
75 A::B { a: () };
76 A::B { .. c };
77 A::B { a: (), b: (), .. c };
78}
David Tolnay8b308c22016-10-03 01:24:10 -070079
80fn pattern() {
81 match x {
David Tolnayaa610942016-10-03 22:22:49 -070082 _ => {}
83 box a => {}
David Tolnay8b308c22016-10-03 01:24:10 -070084 0...31 => {}
David Tolnayaa610942016-10-03 22:22:49 -070085 A::B(a, .., b) => {}
86 a => {}
87 ref a => {}
88 mut a => {}
89 ref mut a => {}
David Tolnay8b308c22016-10-03 01:24:10 -070090 A::B => {}
David Tolnayaa610942016-10-03 22:22:49 -070091 (a, .., b) => {}
David Tolnayffdb97f2016-10-03 01:28:33 -070092 &inner => {}
David Tolnayaa610942016-10-03 22:22:49 -070093 "a" => {}
94 mac!() => {}
David Tolnay8b308c22016-10-03 01:24:10 -070095 }
96}