rust/rustfmt-core/tests/target/hard-tabs.rs
2018-02-07 22:48:05 +09:00

100 lines
1.8 KiB
Rust

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