// rustfmt-normalize_comments: true // rustfmt-wrap_comments: true // rustfmt-hard_tabs: true fn main() { let x = Bar; let y = Foo { a: x }; Foo { a: foo(), // comment // comment b: bar(), ..something }; fn foo(a: i32, a: i32, a: i32, a: i32, a: i32, a: i32, a: i32, a: i32, a: i32, a: i32, a: i32) { } let str = "AAAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAa"; if let ( some_very_large, tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuple, ) = 1 + 2 + 3 {} if cond() { something(); } else if different_cond() { something_else(); } else { aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa } unsafe /* very looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong * comment */ { } unsafe /* So this is a very long comment. * Multi-line, too. * Will it still format correctly? */ { } let chain = funktion_kall() .go_to_next_line_with_tab() .go_to_next_line_with_tab() .go_to_next_line_with_tab(); let z = [ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, yyyyyyyyyyyyyyyyyyyyyyyyyyy, zzzzzzzzzzzzzzzzzz, q, ]; fn generic(arg: T) -> &SomeType where T: Fn( // First arg A, // Second argument B, C, D, // pre comment E, // last comment ) -> &SomeType, { arg(a, b, c, d, e) } loong_func().quux(move || if true { 1 } else { 2 }); fffffffffffffffffffffffffffffffffff(a, { SCRIPT_TASK_ROOT.with(|root| { *root.borrow_mut() = Some(&script_task); }); }); a.b.c.d(); x().y(|| match cond() { true => (), false => (), }); } // #2296 impl Foo { // a comment // on multiple lines fn foo() { // another comment // on multiple lines let x = true; } }