]> git.lizzy.rs Git - rust.git/blobdiff - src/expr.rs
Do not combine short parent and comment
[rust.git] / src / expr.rs
index 05020a419a90f26f220639a3ed60e8f04145931c..72cf618dca546fc7c0213013d2340ec4dd989161 100644 (file)
@@ -345,17 +345,28 @@ fn needs_space_after_range(rhs: &ast::Expr) -> bool {
         }
         // FIXME(#2743)
         ast::ExprKind::ObsoleteInPlace(..) => unimplemented!(),
-        ast::ExprKind::Async(_capture_by, _node_id, ref block) => {
-            if let rw @ Some(_) =
-                rewrite_single_line_block(context, "async ", block, Some(&expr.attrs), None, shape)
-            {
+        ast::ExprKind::Async(capture_by, _node_id, ref block) => {
+            let mover = if capture_by == ast::CaptureBy::Value {
+                "move "
+            } else {
+                ""
+            };
+            if let rw @ Some(_) = rewrite_single_line_block(
+                context,
+                format!("{}{}", "async ", mover).as_str(),
+                block,
+                Some(&expr.attrs),
+                None,
+                shape,
+            ) {
                 rw
             } else {
                 // 6 = `async `
                 let budget = shape.width.saturating_sub(6);
                 Some(format!(
-                    "{}{}",
+                    "{}{}{}",
                     "async ",
+                    mover,
                     rewrite_block(
                         block,
                         Some(&expr.attrs),
@@ -1670,7 +1681,7 @@ pub fn rewrite_field(
     if !attrs_str.is_empty() {
         attrs_str.push_str(&shape.indent.to_string_with_newline(context.config));
     };
-    let name = &field.ident.name.to_string();
+    let name = context.snippet(field.ident.span);
     if field.is_shorthand {
         Some(attrs_str + &name)
     } else {