]> git.lizzy.rs Git - rust.git/commitdiff
Add a missing trailing comma before elipses
authortopecongiro <seuchida@gmail.com>
Fri, 12 May 2017 21:44:57 +0000 (06:44 +0900)
committertopecongiro <seuchida@gmail.com>
Fri, 12 May 2017 22:23:34 +0000 (07:23 +0900)
src/patterns.rs
tests/source/configs-trailing_comma-never.rs
tests/target/configs-trailing_comma-never.rs

index a50fee040d66dfdf47f09d0023755c0975898636..8edfc1deea08086e9a59956002d1d14fba6d0cca 100644 (file)
@@ -13,8 +13,9 @@
 use config::{IndentStyle, MultilineStyle};
 use rewrite::{Rewrite, RewriteContext};
 use utils::{wrap_str, format_mutability};
-use lists::{DefinitiveListTactic, format_item_list, itemize_list, ListItem, struct_lit_shape,
-            struct_lit_tactic, shape_for_tactic, struct_lit_formatting, write_list};
+use lists::{DefinitiveListTactic, SeparatorTactic, format_item_list, itemize_list, ListItem,
+            struct_lit_shape, struct_lit_tactic, shape_for_tactic, struct_lit_formatting,
+            write_list};
 use expr::{rewrite_unary_prefix, rewrite_pair};
 use types::{rewrite_path, PathContext};
 use super::Spanned;
@@ -134,6 +135,7 @@ fn rewrite_struct_pat(path: &ast::Path,
                       context: &RewriteContext,
                       shape: Shape)
                       -> Option<String> {
+    // 2 =  ` {`
     let path_shape = try_opt!(shape.sub_width(2));
     let path_str = try_opt!(rewrite_path(context, PathContext::Expr, None, path, path_shape));
 
@@ -165,6 +167,10 @@ fn rewrite_struct_pat(path: &ast::Path,
 
     if elipses {
         if fields_str.contains('\n') {
+            // Add a missing trailing comma.
+            if fmt.trailing_separator == SeparatorTactic::Never {
+                fields_str.push_str(",");
+            }
             fields_str.push_str("\n");
             fields_str.push_str(&nested_shape.indent.to_string(context.config));
             fields_str.push_str("..");
index 5d4dbef385afadae0f07e3aa29b080e7766e5855..0577f2e5affa6d4d4dabeb55ef7a44fbb52aff16 100644 (file)
@@ -4,4 +4,10 @@
 fn main() {
     let Lorem { ipsum, dolor, sit, } = amet;
     let Lorem { ipsum, dolor, sit, amet, consectetur, adipiscing } = elit;
+
+    // #1544
+    if let VrMsg::ClientReply {request_num: reply_req_num, value, ..} = msg {
+        let _ = safe_assert_eq!(reply_req_num, request_num, op);
+        return Ok((request_num, op, value));
+    }
 }
index ca2da9136c7648e4aea49ff3006f5ba461c94b25..949069cede8f1bcc8ef5fb6064c4a5240fb3b108 100644 (file)
@@ -11,4 +11,14 @@ fn main() {
         consectetur,
         adipiscing
     } = elit;
+
+    // #1544
+    if let VrMsg::ClientReply {
+               request_num: reply_req_num,
+               value,
+               ..
+           } = msg {
+        let _ = safe_assert_eq!(reply_req_num, request_num, op);
+        return Ok((request_num, op, value));
+    }
 }