|  | // 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<T>(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; | 
|  | } | 
|  | } |