]> git.lizzy.rs Git - rust.git/blob - tests/target/chains.rs
Merge pull request #681 from rust-lang-nursery/comment-style
[rust.git] / tests / target / chains.rs
1 // Test chain formatting.
2
3 fn main() {
4     // Don't put chains on a single line if it wasn't so in source.
5     let a = b.c
6              .d
7              .1
8              .foo(|x| x + 1);
9
10     bbbbbbbbbbbbbbbbbbb.ccccccccccccccccccccccccccccccccccccc
11                        .ddddddddddddddddddddddddddd();
12
13     bbbbbbbbbbbbbbbbbbb.ccccccccccccccccccccccccccccccccccccc
14                        .ddddddddddddddddddddddddddd
15                        .eeeeeeee();
16
17     // Test case where first chain element isn't a path, but is shorter than
18     // the size of a tab.
19     x().y(|| {
20         match cond() {
21             true => (),
22             false => (),
23         }
24     });
25
26     loong_func().quux(move || {
27         if true {
28             1
29         } else {
30             2
31         }
32     });
33
34     some_fuuuuuuuuunction().method_call_a(aaaaa, bbbbb, |c| {
35         let x = c;
36         x
37     });
38
39     some_fuuuuuuuuunction()
40         .method_call_a(aaaaa, bbbbb, |c| {
41             let x = c;
42             x
43         })
44         .method_call_b(aaaaa, bbbbb, |c| {
45             let x = c;
46             x
47         });
48
49     fffffffffffffffffffffffffffffffffff(a, {
50         SCRIPT_TASK_ROOT.with(|root| {
51             *root.borrow_mut() = Some(&script_task);
52         });
53     });
54
55     let suuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuum = xxxxxxx.map(|x| x + 5)
56                                                                           .map(|x| x / 2)
57                                                                           .fold(0,
58                                                                                 |acc, x| acc + x);
59
60     aaaaaaaaaaaaaaaa.map(|x| {
61                         x += 1;
62                         x
63                     })
64                     .filter(some_mod::some_filter)
65 }
66
67 fn floaters() {
68     let z = Foo {
69         field1: val1,
70         field2: val2,
71     };
72
73     let x = Foo {
74                 field1: val1,
75                 field2: val2,
76             }
77             .method_call()
78             .method_call();
79
80     let y = if cond {
81                 val1
82             } else {
83                 val2
84             }
85             .method_call();
86
87     {
88         match x {
89             PushParam => {
90                 // params are 1-indexed
91                 stack.push(mparams[match cur.to_digit(10) {
92                                Some(d) => d as usize - 1,
93                                None => return Err("bad param number".to_owned()),
94                            }]
95                            .clone());
96             }
97         }
98     }
99
100     if cond {
101         some();
102     } else {
103         none();
104     }
105     .bar()
106     .baz();
107
108     Foo { x: val }
109         .baz(|| {
110             // force multiline
111         })
112         .quux();
113
114     Foo {
115         y: i_am_multi_line,
116         z: ok,
117     }
118     .baz(|| {
119         // force multiline
120     })
121     .quux();
122
123     a +
124     match x {
125         true => "yay!",
126         false => "boo!",
127     }
128     .bar()
129 }
130
131 fn is_replaced_content() -> bool {
132     constellat.send(ConstellationMsg::ViewportConstrained(self.id, constraints))
133               .unwrap();
134 }
135
136 fn issue587() {
137     a.b::<()>(c);
138
139     std::mem::transmute(dl.symbol::<()>("init").unwrap())
140 }