]> git.lizzy.rs Git - rust.git/commitdiff
Remove visual_indent when rewriting else block
authortopecongiro <seuchida@gmail.com>
Mon, 8 May 2017 23:11:05 +0000 (08:11 +0900)
committertopecongiro <seuchida@gmail.com>
Mon, 8 May 2017 23:11:05 +0000 (08:11 +0900)
src/expr.rs
tests/source/nested-if-else.rs [new file with mode: 0644]
tests/target/nested-if-else.rs [new file with mode: 0644]

index 5aaaa2743f867c872cf7a4205e00d7f3440edcdb..61c6cea55e94515f41b7f2550e1e9a4236d96d76 100644 (file)
@@ -1004,7 +1004,7 @@ fn rewrite(&self, context: &RewriteContext, shape: Shape) -> Option<String> {
                                         false,
                                         true,
                                         mk_sp(else_block.span.lo, self.span.hi))
-                            .rewrite(context, shape.visual_indent(0))
+                            .rewrite(context, shape)
                 }
                 ast::ExprKind::If(ref cond, ref if_block, ref next_else_block) => {
                     ControlFlow::new_if(cond,
@@ -1014,7 +1014,7 @@ fn rewrite(&self, context: &RewriteContext, shape: Shape) -> Option<String> {
                                         false,
                                         true,
                                         mk_sp(else_block.span.lo, self.span.hi))
-                            .rewrite(context, shape.visual_indent(0))
+                            .rewrite(context, shape)
                 }
                 _ => {
                     last_in_chain = true;
diff --git a/tests/source/nested-if-else.rs b/tests/source/nested-if-else.rs
new file mode 100644 (file)
index 0000000..9a54789
--- /dev/null
@@ -0,0 +1,11 @@
+fn issue1518() {
+    Some(Object {
+        field: if a {
+            a_thing
+        } else if b {
+            b_thing
+        } else {
+            c_thing
+        },
+    })
+}
diff --git a/tests/target/nested-if-else.rs b/tests/target/nested-if-else.rs
new file mode 100644 (file)
index 0000000..4d5bf1f
--- /dev/null
@@ -0,0 +1,11 @@
+fn issue1518() {
+    Some(Object {
+             field: if a {
+                 a_thing
+             } else if b {
+                 b_thing
+             } else {
+                 c_thing
+             },
+         })
+}