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 =
11 (a + first + simple + test + AAAAAAAAAAAAA + BBBBBBBBBBBBBBBBB + b + c);
14 self.source_map.span_to_filename(s) == self.source_map.span_to_filename(m.inner);
16 let some_val = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa * bbbb
17 / (bbbbbb - function_call(x, *very_long_pointer, y))
20 some_ridiculously_loooooooooooooooooooooong_function(
21 10000 * 30000000000 + 40000 / 1002200000000 - 50000 * sqrt(-1),
24 (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
26 + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
48 if let Some(x) = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa {
53 (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)
58 tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuple,
64 tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuple,
70 tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuple,
74 if let ast::ItemKind::Trait(_, unsafety, ref generics, ref type_param_bounds, ref trait_items) =
80 let test = if true { 5 } else { 3 };
84 } else if different_cond() {
87 // Check subformatting
88 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
89 + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
96 const fn get(&self) -> usize {
106 (111111111 + 333333333333333333 + 1111 + 400000000000000000)..(2222 + 2333333333333333);
108 let another_range = 5..some_func(a, b /* comment */);
114 syntactically_correct(
118 if cond { 0 } else { 1 },
125 let nonsense = (10..0)..(0..10);
134 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa && aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
140 unsafe /* {}{}{}{{{{}} */ {
144 unsafe /* very looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
148 unsafe /* So this is a very long comment.
150 * Will it still format correctly? */ {
154 // Regular unsafe block
164 let identifier_0 = unsafe { this_is_58_chars_long_and_line_is_93_chars_long_xxxxxxxxxx };
165 let identifier_1 = unsafe { this_is_59_chars_long_and_line_is_94_chars_long_xxxxxxxxxxx };
166 let identifier_2 = unsafe { this_is_65_chars_long_and_line_is_100_chars_long_xxxxxxxxxxxxxxxx };
168 unsafe { this_is_66_chars_long_and_line_is_101_chars_long_xxxxxxxxxxxxxxxxx };
171 // Test some empty blocks.
174 // FIXME this one could be done better.
175 { /* a block with a comment */ }
178 // A block with a comment.
185 box DocumentProgressHandler::new(addr, DocumentProgressTask::DOMContentLoaded);
189 fn issue184(source: &str) {
190 for c in source.chars() {
199 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, 5,
203 let y = [/* comment */ 1, 2 /* post comment */, 3];
207 test123: value_one_two_three_four,
214 let a = WeightedChoice::new(&mut [
234 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,
235 yyyyyyyyyyyyyyyyyyyyyyyyyyy,
240 [1 + 3, 4, 5, 6, 7, 7, fncall::<Vec<_>>(3 - 1)]
244 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
247 return aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
248 + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa;
252 &mut (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
253 + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb);
254 &(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
255 + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb);
257 // raw reference operator
263 fn unpack(packed: u32) -> [u16; 2] {
264 [(packed >> 16) as u16, (packed >> 0) as u16]
267 let some_trait_xxx = xxxxxxxxxxx + xxxxxxxxxxxxx as SomeTraitXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;
268 let slightly_longer_trait =
269 yyyyyyyyy + yyyyyyyyyyy as SomeTraitYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY;
273 let x = (aaaaaaaaaaaaaaaaaaaaaaaaaaaa + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb + cccccccccccccccc)
275 let y = (aaaaaaaaaaaaaaaaaaaaaaaaaaaa + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb + cccccccccccccccc)
276 [xxxxx + yyyyy + zzzzz];
280 .zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz()[aaaaa];
284 .zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz()
289 let x = [aaaaaaaaaaaaaaaaaaaaaaaaaaaa + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb + cccccccccccccccc;
291 let y = [aaaaaaaaaaaaaaaaaaaaaaaaaaaa + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb + cccccccccccccccc;
292 xxxxx + yyyyy + zzzzz];
297 println!("yay arithmetix!");
305 // A let binding here seems necessary to trigger it.
308 } else if let false = false {
313 let x = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa..bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb;
315 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa..=bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb;
320 let x = [0. ..=10.0];
324 // the expr below won't compile because inclusive ranges need a defined end
329 let exact = diff / (if size == 0 { 1 } else { size });
331 let cx = tp1.x + any * radius * if anticlockwise { 1.0 } else { -1.0 };
334 fn complex_if_else() {
335 if let Some(x) = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx {
336 } else if let Some(x) = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx {
338 } else if xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + xxxxxxxx {
340 } else if let Some(x) = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
343 } else if xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + xxxxxxxxx
351 if let hir::ItemEnum(ref enum_def, ref generics) =
352 self.ast_map.expect_item(enum_node_id).node
356 for entry in WalkDir::new(path)
358 .filter_entry(|entry| exclusions.filter_entry(entry))
363 a_very_long_function_name({ some_func(1, { 1 }) })
367 v = &mut { v }[mid..];
368 let (left, right) = { v }.split_at_mut(mid);
371 // Multi-lined index should be put on the next line if it fits in one line.
376 if self.shape[(r as f32 + self.x_offset) as usize]
377 [(c as f32 + self.y_offset) as usize]
388 fn newlines_between_list_like_expr() {
390 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,
391 yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy,
392 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz,
396 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,
397 yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy,
398 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz,
402 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
403 | yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
404 | zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz => foo(a, b, c),
412 .map(|item| ls_util::rls_to_location(item))
426 .experimental_compressed_block_size as usize
434 .. .. ..; // (.. (.. (..)))
436 (..).. ..; // ((..) .. (..))
440 // A function call with a large single argument.
442 let my_var = Mutex::new(
443 RpcClientType::connect(server_iddd).chain_err(|| "Unable to create RPC client")?,
448 // Method call with prefix and suffix.
450 // We should not combine the callee with a multi-lined method call.
451 let requires = requires.set(
457 let requires = requires.set(
463 let requires = requires.set(
467 .distinct_total() as u32,
469 let requires = requires.set(
475 let requires = requires.set(
481 // We should combine a small callee with an argument.
487 // But we should not combine a long callee with an argument.
529 function_to_fill_this_line(some_arg, some_arg, some_arg)
530 * a_very_specific_length(specific_length_arg)
531 * very_specific_length(Foo {
532 a: some_much_much_longer_value,
538 let mut path: PathBuf = [
539 env!("CARGO_MANIFEST_DIR"),
542 "dejavu-fonts-ttf-2.37",
554 ErrorKind::ManagementInterfaceError("Server exited unexpectedly").into(),
563 ErrorKind::ManagementInterfaceError("Server exited unexpectedlyy").into(),
624 static REPRO: &[usize] = &[
625 #[cfg(feature = "zero")]
629 fn overflow_with_attr() {
631 #[cfg(feature = "zero")]
635 #[cfg(feature = "zero")]
641 #[cfg(feature = "zero")]
646 // https://github.com/rust-lang/rustfmt/issues/3765
666 [_, a, _] = [1, 2, 3];
668 TupleStruct(_, a) = TupleStruct(2, 2);
670 let _: usize = foo(_, _);