// Test expressions with block formatting. fn arrays() { []; let empty = []; let foo = [a_long_name, a_very_lng_name, a_long_name]; let foo = [ a_long_name, a_very_lng_name, a_long_name, a_very_lng_name, a_long_name, a_very_lng_name, a_long_name, a_very_lng_name, ]; vec![ a_long_name, a_very_lng_name, a_long_name, a_very_lng_name, a_long_name, a_very_lng_name, a_very_lng_name, ]; [ a_long_name, a_very_lng_name, a_long_name, a_very_lng_name, a_long_name, a_very_lng_name, a_very_lng_name, ] } fn arrays() { 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, 5, 6, 7, 8, 9, 0, ]; let y = [/* comment */ 1, 2 /* post comment */, 3]; let xy = [ strukt { test123: value_one_two_three_four, turbo: coolio(), }, /* comment */ 1, ]; let a = WeightedChoice::new(&mut [ Weighted { weight: x, item: 0 }, Weighted { weight: 1, item: 1 }, Weighted { weight: x, item: 2 }, Weighted { weight: 1, item: 3 }, ]); let z = [ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, yyyyyyyyyyyyyyyyyyyyyyyyyyy, zzzzzzzzzzzzzzzzz, q, ]; [1 + 3, 4, 5, 6, 7, 7, fncall::>(3 - 1)] } fn function_calls() { let items = itemize_list( context.source_map, args.iter(), ")", |item| item.span.lo(), |item| item.span.hi(), |item| { item.rewrite( context, Shape { width: remaining_width, ..nested_shape }, ) }, span.lo(), span.hi(), ); itemize_list( context.source_map, args.iter(), ")", |item| item.span.lo(), |item| item.span.hi(), |item| { item.rewrite( context, Shape { width: remaining_width, ..nested_shape }, ) }, span.lo(), span.hi(), ) } fn macros() { baz!( do_not, add, trailing, commas, inside, of, function, like, macros, even, if_they, are, long ); baz!(one_item_macro_which_is_also_loooooooooooooooooooooooooooooooooooooooooooooooong); let _ = match option { None => baz!( function, like, macro_as, expression, which, is, loooooooooooooooong ), Some(p) => baz!(one_item_macro_as_expression_which_is_also_loooooooooooooooong), }; } fn issue_1450() { if selfstate .compare_exchandsfasdsdfgsdgsdfgsdfgsdfgsdfgsdfgfsfdsage_weak( STATE_PARKED, STATE_UNPARKED, Release, Relaxed, Release, Relaxed, ) .is_ok() { return; } } fn foo() { if real_total <= limit && !pre_line_comments && !items.into_iter().any(|item| item.as_ref().is_multiline()) { DefinitiveListTactic::Horizontal } } fn combine_block() { foo(Bar { x: value, y: value2, }); foo((Bar { x: value, y: value2, },)); foo(( 1, 2, 3, Bar { x: value, y: value2, }, )); foo((1, 2, 3, |x| { let y = x + 1; let z = y + 1; z })); let opt = Some(Struct( long_argument_one, long_argument_two, long_argggggggg, )); do_thing(|param| { action(); foo(param) }); do_thing(x, |param| { action(); foo(param) }); do_thing( x, (1, 2, 3, |param| { action(); foo(param) }), ); Ok(some_function( lllllllllong_argument_one, lllllllllong_argument_two, lllllllllllllllllllllllllllllong_argument_three, )); foo( thing, bar( param2, pparam1param1param1param1param1param1param1param1param1param1aram1, param3, ), ); foo.map_or(|| { Ok(SomeStruct { f1: 0, f2: 0, f3: 0, }) }); match opt { Some(x) => somefunc(anotherfunc( long_argument_one, long_argument_two, long_argument_three, )), Some(x) => |x| { let y = x + 1; let z = y + 1; z }, Some(x) => (1, 2, |x| { let y = x + 1; let z = y + 1; z }), Some(x) => SomeStruct { f1: long_argument_one, f2: long_argument_two, f3: long_argument_three, }, None => Ok(SomeStruct { f1: long_argument_one, f2: long_argument_two, f3: long_argument_three, }), }; match x { y => func(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx), _ => func( x, yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy, zzz, ), } } fn issue_1862() { foo( /* bar = */ None, something_something, /* baz = */ None, /* This comment waaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaay too long to be kept on the same line */ None, /* com */ this_last_arg_is_tooooooooooooooooooooooooooooooooo_long_to_be_kept_with_the_pre_comment, ) } fn issue_3025() { foo( // This describes the argument below. /* bar = */ None, // This describes the argument below. something_something, // This describes the argument below. */ None, // This describes the argument below. /* This comment waaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaay too long to be kept on the same line */ None, // This describes the argument below. /* com */ this_last_arg_is_tooooooooooooooooooooooooooooooooo_long_to_be_kept_with_the_pre_comment, ) } fn issue_1878() { let channel: &str = seq .next_element()? .ok_or_else(|| de::Error::invalid_length(2, &self))?; }