]> git.lizzy.rs Git - rust.git/blob - tests/target/expr.rs
Format repeated element array literals
[rust.git] / tests / target / expr.rs
1 // Test expressions
2
3 fn foo() -> bool {
4     let boxed: Box<i32> = box 5;
5     let referenced = &5;
6
7     let very_long_variable_name = (a + first + simple + test);
8     let very_long_variable_name = (a + first + simple + test + AAAAAAAAAAAAA +
9                                    BBBBBBBBBBBBBBBBB + b + c);
10
11     let is_internalxxxx = self.codemap.span_to_filename(s) ==
12                           self.codemap.span_to_filename(m.inner);
13
14     let some_val = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa * bbbb /
15                    (bbbbbb - function_call(x, *very_long_pointer, y)) + 1000;
16
17     some_ridiculously_loooooooooooooooooooooong_function(10000 * 30000000000 +
18                                                          40000 / 1002200000000 -
19                                                          50000 * sqrt(-1),
20                                                          trivial_value);
21     (((((((((aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
22              a +
23              aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
24              aaaaa)))))))));
25
26     {
27         for _ in 0..10 {}
28     }
29
30     {
31         {
32             {
33                 {}
34             }
35         }
36     }
37
38     if 1 + 2 > 0 {
39         let result = 5;
40         result
41     } else {
42         4
43     };
44
45     if let Some(x) = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa {
46         // Nothing
47     }
48
49     if let Some(x) = (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
50                       aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) {}
51
52     if let (some_very_large,
53             tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuple) = 1 + 2 + 3 {
54     }
55
56     if let (some_very_large,
57             tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuple) = 1111 +
58                                                                                          2222 {}
59
60     if let (some_very_large, tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuple) =
61            1 + 2 + 3 {
62     }
63
64     let test = if true {
65         5
66     } else {
67         3
68     };
69
70     if cond() {
71         something();
72     } else if different_cond() {
73         something_else();
74     } else {
75         // Check subformatting
76         aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
77         aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
78     }
79 }
80
81 fn bar() {
82     let range = (111111111 + 333333333333333333 + 1111 + 400000000000000000)..(2222 +
83                                                                                2333333333333333);
84
85     let another_range = 5..some_func(a, b /* comment */);
86
87     for _ in 1.. {
88         call_forever();
89     }
90
91     syntactically_correct(loop {
92                               sup('?');
93                           },
94                           if cond {
95                               0
96                           } else {
97                               1
98                           });
99
100     let third = ..10;
101     let infi_range = ..;
102     let foo = 1..;
103     let bar = 5;
104     let nonsense = (10..0)..(0..10);
105
106     loop {
107         if true {
108             break
109         }
110     }
111
112     let x = (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa && aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
113              a);
114 }
115
116 fn baz() {
117     unsafe /* {}{}{}{{{{}} */ {
118         let foo = 1u32;
119     }
120
121     unsafe /* very looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
122             * comment */ {
123     }
124
125     unsafe /* So this is a very long comment.
126             * Multi-line, too.
127             * Will it still format correctly? */ {
128     }
129
130     unsafe {
131         // Regular unsafe block
132     }
133
134     unsafe { foo() }
135
136     unsafe {
137         foo();
138     }
139 }
140
141 // Test some empty blocks.
142 fn qux() {
143     {}
144     // FIXME this one could be done better.
145     { /* a block with a comment */
146     }
147     {
148
149     }
150     {
151         // A block with a comment.
152     }
153 }
154
155 fn issue227() {
156     {
157         let handler = box DocumentProgressHandler::new(addr,
158                                                        DocumentProgressTask::DOMContentLoaded);
159     }
160 }
161
162 fn issue184(source: &str) {
163     for c in source.chars() {
164         if index < 'a' {
165             continue;
166         }
167     }
168 }
169
170 fn arrays() {
171     let x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 7, 8, 9, 0, 1, 2, 3, 4,
172              5, 6, 7, 8, 9, 0];
173
174     let y = [// comment
175              1,
176              2, // post comment
177              3];
178
179     let z = [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,
180              yyyyyyyyyyyyyyyyyyyyyyyyyyy,
181              zzzzzzzzzzzzzzzzzz,
182              q];
183
184     [1 + 3, 4, 5, 6, 7, 7, fncall::<Vec<_>>(3 - 1)]
185 }
186
187 fn returns() {
188     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &&
189     return;
190
191     return aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
192            aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
193 }
194
195 fn addrof() {
196     &mut (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
197           bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb);
198     &(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
199       bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb);
200 }
201
202 fn casts() {
203     fn unpack(packed: u32) -> [u16; 2] {
204         [(packed >> 16) as u16, (packed >> 0) as u16]
205     }
206
207     let some_trait_xxx = xxxxxxxxxxx + xxxxxxxxxxxxx as SomeTraitXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;
208     let slightly_longer_trait = yyyyyyyyy +
209                                 yyyyyyyyyyy as SomeTraitYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY;
210 }
211
212 fn indices() {
213     let x = (aaaaaaaaaaaaaaaaaaaaaaaaaaaa + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb + cccccccccccccccc)[x +
214                                                                                                 y +
215                                                                                                 z];
216     let y = (aaaaaaaaaaaaaaaaaaaaaaaaaaaa + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +
217              cccccccccccccccc)[xxxxx + yyyyy + zzzzz];
218 }
219
220 fn repeats() {
221     let x = [aaaaaaaaaaaaaaaaaaaaaaaaaaaa + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb + cccccccccccccccc; x +
222                                                                                                 y +
223                                                                                                 z];
224     let y = [aaaaaaaaaaaaaaaaaaaaaaaaaaaa + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +
225              cccccccccccccccc; xxxxx + yyyyy + zzzzz];
226 }