]> git.lizzy.rs Git - rust.git/blob - tests/source/closure.rs
Prevent generation of bogus comment in some function calls
[rust.git] / tests / source / closure.rs
1 // Closures
2
3 fn main() {
4     let square = ( |i:  i32 | i  *  i );
5
6     let commented = |/* first */ a /*argument*/, /* second*/ b: WithType /* argument*/, /* ignored */ _ |
7         (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb);
8
9     let block_body = move   |xxxxxxxxxxxxxxxxxxxxxxxxxxxxx,  ref  yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy| {
10             xxxxxxxxxxxxxxxxxxxxxxxxxxxxx + yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
11         };
12
13     let loooooooooooooong_name = |field| {
14              // TODO(#27): format comments.
15              if field.node.attrs.len() > 0 { field.node.attrs[0].span.lo
16              } else {
17                  field.span.lo
18              }};
19
20     let block_me = |field| if true_story() { 1 } else { 2 };
21
22     let unblock_me = |trivial| {
23                          closure()
24                      };
25
26     let empty = |arg|    {};
27
28     let simple = |arg| { /* TODO(#27): comment formatting */ foo(arg) };
29
30     let test = |  | { do_something(); do_something_else(); };
31
32     let arg_test = |big_argument_name, test123| looooooooooooooooooong_function_naaaaaaaaaaaaaaaaame();
33
34     let arg_test = |big_argument_name, test123| {looooooooooooooooooong_function_naaaaaaaaaaaaaaaaame()};
35
36     let simple_closure = move ||   ->  () {};
37
38     let closure = |input: Ty| -> Option<String> {
39         foo()
40     };
41
42     let closure_with_return_type = |aaaaaaaaaaaaaaaaaaaaaaarg1, aaaaaaaaaaaaaaaaaaaaaaarg2| -> Strong { "sup".to_owned() };
43
44     |arg1, arg2, _, _, arg3, arg4| { let temp = arg4 + arg3;
45                                      arg2 * arg1 - temp }
46 }
47
48 fn issue311() {
49     let func = |x| println!("{}", x);
50
51     (func)(0.0);
52 }