// rustfmt-normalize_comments: true // rustfmt-wrap_comments: true // rustfmt-hard_tabs: true // rustfmt-error_on_line_overflow: false 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; } }