0cb294f05c
fn_args_layout is now deprecated. This option was renamed to better communicate that it affects the layout of parameters in function signatures and not the layout of arguments in function calls. Because the `fn_args_layout` is a stable option the renamed option is also stable, however users who set `fn_args_layout` will get a warning message letting them know that the option has been renamed.
40 lines
954 B
Rust
40 lines
954 B
Rust
// rustfmt-fn_params_layout: Vertical
|
|
|
|
// Empty list should stay on one line.
|
|
fn do_bar() -> u8 {
|
|
bar()
|
|
}
|
|
|
|
// A single argument should stay on the same line.
|
|
fn do_bar(a: u8) -> u8 {
|
|
bar()
|
|
}
|
|
|
|
// Multiple arguments should each get their own line.
|
|
fn do_bar(
|
|
a: u8,
|
|
mut b: u8,
|
|
c: &u8,
|
|
d: &mut u8,
|
|
closure: &Fn(i32) -> i32,
|
|
) -> i32 {
|
|
// This feature should not affect closures.
|
|
let bar = |x: i32, y: i32| -> i32 { x + y };
|
|
bar(a, b)
|
|
}
|
|
|
|
// If the first argument doesn't fit on the same line with the function name,
|
|
// the whole list should probably be pushed to the next line with hanging
|
|
// indent. That's not what happens though, so check current behaviour instead.
|
|
// In any case, it should maintain single argument per line.
|
|
fn do_this_that_and_the_other_thing(
|
|
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: u8,
|
|
b: u8,
|
|
c: u8,
|
|
d: u8,
|
|
) {
|
|
this();
|
|
that();
|
|
the_other_thing();
|
|
}
|