1 // rustfmt-normalize_comments: true
2 // rustfmt-wrap_comments: true
6 let boxed: Box<i32> = box 5;
9 let very_long_variable_name = ( a + first + simple + test );
10 let very_long_variable_name = (a + first + simple + test + AAAAAAAAAAAAA + BBBBBBBBBBBBBBBBB + b + c);
12 let is_internalxxxx = self.source_map.span_to_filename(s) == self.source_map.span_to_filename(m.inner);
14 let some_val = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa * bbbb / (bbbbbb -
15 function_call(x, *very_long_pointer, y))
18 some_ridiculously_loooooooooooooooooooooong_function(10000 * 30000000000 + 40000 / 1002200000000
21 (((((((((aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + a +
22 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + aaaaa))))))))) ;
28 if 1 + 2 > 0 { let result = 5; result } else { 4};
30 if let Some(x) = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa {
34 if let Some(x) = (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) {}
36 if let (some_very_large,
37 tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuple) = 1
41 if let (some_very_large,
42 tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuple) = 1111 + 2222 {}
44 if let (some_very_large, tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuple) = 1
48 if let ast::ItemKind::Trait(_, unsafety, ref generics, ref type_param_bounds, ref trait_items) = item.node
53 let test = if true { 5 } else { 3 };
57 } else if different_cond() {
60 // Check subformatting
61 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
65 let _ = [0; {struct Foo; impl Foo {const fn get(&self) -> usize {5}}; Foo.get()}];
69 let range = ( 111111111 + 333333333333333333 + 1111 + 400000000000000000) .. (2222 + 2333333333333333);
71 let another_range = 5..some_func( a , b /* comment */);
73 for _ in 1 ..{ call_forever(); }
75 syntactically_correct(loop { sup( '?'); }, if cond { 0 } else { 1 });
81 let nonsense = (10 .. 0)..(0..10);
85 let x = (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &&
86 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
91 unsafe /* {}{}{}{{{{}} */ {
95 unsafe /* very looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong comment */ {}
97 unsafe // So this is a very long comment.
99 // Will it still format correctly?
104 // Regular unsafe block
116 let identifier_0 = unsafe { this_is_58_chars_long_and_line_is_93_chars_long_xxxxxxxxxx };
117 let identifier_1 = unsafe { this_is_59_chars_long_and_line_is_94_chars_long_xxxxxxxxxxx };
118 let identifier_2 = unsafe { this_is_65_chars_long_and_line_is_100_chars_long_xxxxxxxxxxxxxxxx };
119 let identifier_3 = unsafe { this_is_66_chars_long_and_line_is_101_chars_long_xxxxxxxxxxxxxxxxx };
122 // Test some empty blocks.
125 // FIXME this one could be done better.
126 { /* a block with a comment */ }
131 // A block with a comment.
137 let handler = box DocumentProgressHandler::new(addr, DocumentProgressTask::DOMContentLoaded);
141 fn issue184(source: &str) {
142 for c in source.chars() {
186 let y = [/* comment */ 1, 2 /* post comment */, 3];
188 let xy = [ strukt { test123: value_one_two_three_four, turbo: coolio(), } , /* comment */ 1 ];
190 let a =WeightedChoice::new(&mut [Weighted {
207 let z = [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, yyyyyyyyyyyyyyyyyyyyyyyyyyy, zzzzzzzzzzzzzzzzzz, q];
209 [ 1 + 3, 4 , 5, 6, 7, 7, fncall::<Vec<_>>(3-1)]
213 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa && return;
215 return aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
219 & mut(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb);
220 & (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb);
222 // raw reference operator
228 fn unpack(packed: u32) -> [u16; 2] {
230 (packed >> 16) as u16,
231 (packed >> 0) as u16,
235 let some_trait_xxx = xxxxxxxxxxx + xxxxxxxxxxxxx
236 as SomeTraitXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;
237 let slightly_longer_trait = yyyyyyyyy + yyyyyyyyyyy as SomeTraitYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY;
241 let x = (aaaaaaaaaaaaaaaaaaaaaaaaaaaa+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb+cccccccccccccccc) [ x + y + z ];
242 let y = (aaaaaaaaaaaaaaaaaaaaaaaaaaaa + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb + cccccccccccccccc)[ xxxxx + yyyyy + zzzzz ];
243 let z = xxxxxxxxxx.x().y().zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz()[aaaaa];
244 let z = xxxxxxxxxx.x().y().zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz()[aaaaa];
248 let x = [aaaaaaaaaaaaaaaaaaaaaaaaaaaa+bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb+cccccccccccccccc; x + y + z ];
249 let y = [aaaaaaaaaaaaaaaaaaaaaaaaaaaa + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb + cccccccccccccccc; xxxxx + yyyyy + zzzzz ];
254 println!("yay arithmetix!");
262 // A let binding here seems necessary to trigger it.
265 } else if let false = false {
270 let x = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa .. bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb;
271 let y = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ..= bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb;
276 let x = [0. ..=10.0];
280 // the expr below won't compile because inclusive ranges need a defined end
301 fn complex_if_else() {
302 if let Some(x) = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx {
303 } else if let Some(x) = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx {
305 } else if xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + xxxxxxxx {
307 } else if let Some(x) = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx {
309 } else if xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + xxxxxxxxx {
316 if let hir::ItemEnum(ref enum_def, ref generics) = self.ast_map.expect_item(enum_node_id).node {
323 .filter_entry(|entry| exclusions.filter_entry(entry)) {
328 a_very_long_function_name({some_func(1, {1})})
333 let (left, right) = {v}.split_at_mut(mid);
336 // Multi-lined index should be put on the next line if it fits in one line.
341 if self.shape[(r as f32 + self.x_offset) as usize][(c as f32 + self.y_offset) as usize] != 0 {
350 fn newlines_between_list_like_expr() {
352 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,
354 yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy,
356 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz,
360 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,
362 yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy,
364 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz,
368 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
370 yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy |
372 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz => foo(a, b, c),
378 Ok(result.iter().map(|item| ls_util::rls_to_location(item)).collect())
388 i == self.install_config.storage.experimental_compressed_block_size as usize
396 .. .. ..; // (.. (.. (..)))
398 (..) .. ..; // ((..) .. (..))
402 // A function call with a large single argument.
405 Mutex::new(RpcClientType::connect(server_iddd).chain_err(|| "Unable to create RPC client")?);
409 // Method call with prefix and suffix.
411 // We should not combine the callee with a multi-lined method call.
412 let requires = requires.set(&requires0
416 let requires = requires.set(box requires0
420 let requires = requires.set(requires0
423 .distinct_total() as u32);
424 let requires = requires.set(requires0
428 let requires = requires.set(!requires0
432 // We should combine a small callee with an argument.
438 // But we should not combine a long callee with an argument.
448 {let f={let f={{match f{F(f,_)=>{{loop{let f={match f{F(f,_)=>{{match f{F(f,_)=>{{loop{let f={let f={match f{'-'=>F(f,()),}};};}}}}}}}};}}}}}};};}
452 function_to_fill_this_line(some_arg, some_arg, some_arg)
453 * a_very_specific_length(specific_length_arg) * very_specific_length(Foo {
454 a: some_much_much_longer_value,
459 let mut path: PathBuf = [
460 env!("CARGO_MANIFEST_DIR"),
463 "dejavu-fonts-ttf-2.37",
474 return Err(ErrorKind::ManagementInterfaceError("Server exited unexpectedly").into())
481 break Err(ErrorKind::ManagementInterfaceError("Server exited unexpectedlyy").into())
541 static REPRO: &[usize] = &[#[cfg(feature = "zero")]
544 fn overflow_with_attr() {
545 foo(#[cfg(feature = "zero")]
547 foobar(#[cfg(feature = "zero")]
549 foobar(x, y, #[cfg(feature = "zero")]
554 // https://github.com/rust-lang/rustfmt/issues/3765
574 [ _,a,_ ] = [1, 2, 3];
576 TupleStruct( _, a) = TupleStruct(2, 2);
578 let _ : usize = foo(_, _);