]> git.lizzy.rs Git - rust.git/commitdiff
Use SeperatorTactic::Never for a single argument
authortopecongiro <seuchida@gmail.com>
Fri, 7 Apr 2017 07:53:49 +0000 (16:53 +0900)
committertopecongiro <seuchida@gmail.com>
Thu, 4 May 2017 05:47:50 +0000 (14:47 +0900)
src/expr.rs
src/items.rs
tests/target/fn-custom-7.rs

index 5876409a9fa22e95c488dae8a1cb399cd4e746e8..f50b383b943f58e66073f3191f94cf0975ddfdd8 100644 (file)
@@ -1752,7 +1752,8 @@ fn rewrite_call_inner<R>(context: &RewriteContext,
         tactic: tactic,
         separator: ",",
         trailing_separator: if force_no_trailing_comma ||
-                               context.config.fn_call_style == IndentStyle::Visual {
+                               context.config.fn_call_style == IndentStyle::Visual ||
+                               args.len() <= 1 {
             SeparatorTactic::Never
         } else {
             context.config.trailing_comma
index 0b2ca5a52cbb8dbe3740921385cebf49abee66ac..6e5f4b0802a74ba179514ee9ead681c95dba1cd3 100644 (file)
@@ -1628,7 +1628,8 @@ fn rewrite_fn_base(context: &RewriteContext,
                                         indent,
                                         arg_indent,
                                         args_span,
-                                        fd.variadic));
+                                        fd.variadic,
+                                        generics_str.contains('\n')));
 
     let multi_line_arg_str = arg_str.contains('\n');
 
@@ -1783,7 +1784,8 @@ fn rewrite_args(context: &RewriteContext,
                 indent: Indent,
                 arg_indent: Indent,
                 span: Span,
-                variadic: bool)
+                variadic: bool,
+                generics_str_contains_newline: bool)
                 -> Option<String> {
     let mut arg_item_strs =
         try_opt!(args.iter()
@@ -1868,6 +1870,9 @@ enum ArgumentKind<'a> {
     }
 
     let (indent, trailing_comma, end_with_newline) = match context.config.fn_args_layout {
+        IndentStyle::Block if !generics_str_contains_newline && arg_items.len() <= 1 => {
+            (indent.block_indent(context.config), SeparatorTactic::Never, true)
+        }
         IndentStyle::Block => {
             (indent.block_indent(context.config), SeparatorTactic::Vertical, true)
         }
index 0f5297e33edae826dee4a940156a82f4beba631f..1a134128d2b2b7040aa0d7fecb92b2f2d0695e48 100644 (file)
@@ -4,7 +4,7 @@
 // rustfmt-fn_brace_style: AlwaysNextLine
 
 // Case with only one variable.
-fn foo(a: u8,) -> u8
+fn foo(a: u8) -> u8
 {
     bar()
 }
@@ -30,11 +30,11 @@ fn foo(
 }
 
 trait Test {
-    fn foo(a: u8,)
+    fn foo(a: u8)
     {
     }
 
-    fn bar(a: u8,) -> String
+    fn bar(a: u8) -> String
     {
     }
 }