blob: 30f39cafd2057aeea60c5c39d690df353ae9a854 [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 },
10 move |a, b| a + b,
11 )
David Tolnay42602292016-10-01 22:25:45 -070012}
David Tolnay9636c052016-10-02 17:11:17 -070013
14fn ascript() {
15 (
16 G::<u8>::f::<S>(),
17 <G<u8> as m::Trait<u8>>::Assoc::f::<S>(),
18 )
19}
David Tolnay3c2467c2016-10-02 17:55:08 -070020
21fn conditional() {
22 if a == b {
23 0
24 } else if a > b {
25 1
26 } else {
27 -1
David Tolnay29f9ce12016-10-02 20:58:40 -070028 };
29
30 if let a = b {
31 0
32 } else if c {
33 1
34 } else if let d = e {
35 -1
36 };
David Tolnay3c2467c2016-10-02 17:55:08 -070037}
David Tolnay191e0582016-10-02 18:31:09 -070038
David Tolnaybb6feae2016-10-02 21:25:20 -070039fn looping() {
40 loop {
41 print(a);
David Tolnaycfe55022016-10-02 22:02:27 -070042 }
David Tolnaybb6feae2016-10-02 21:25:20 -070043
44 while true {
45 print(a);
David Tolnaycfe55022016-10-02 22:02:27 -070046 }
David Tolnaybb6feae2016-10-02 21:25:20 -070047
48 while let a = true {
49 print(a);
David Tolnaycfe55022016-10-02 22:02:27 -070050 }
David Tolnaybb6feae2016-10-02 21:25:20 -070051
52 for a in b {
53 print(a);
David Tolnaycfe55022016-10-02 22:02:27 -070054 }
David Tolnaybb6feae2016-10-02 21:25:20 -070055}
56
David Tolnay191e0582016-10-02 18:31:09 -070057fn item() {
58 struct S;
59
60 let a = 1;
61 let a: u8 = 1;
62 let mut a = 1;
63}
David Tolnay055a7042016-10-02 19:23:54 -070064
65fn expr() {
66 fallible()?;
67
68 [repeat; 1 + 1];
69
70 A::B {};
71 A::B { a: () };
72 A::B { .. c };
73 A::B { a: (), b: (), .. c };
74}