From f36411c33921bedfef87ee38c7f93340c1667bd7 Mon Sep 17 00:00:00 2001
From: topecongiro <seuchida@gmail.com>
Date: Tue, 9 May 2017 08:11:05 +0900
Subject: [PATCH] Remove visual_indent when rewriting else block

---
 src/expr.rs                    |  4 ++--
 tests/source/nested-if-else.rs | 11 +++++++++++
 tests/target/nested-if-else.rs | 11 +++++++++++
 3 files changed, 24 insertions(+), 2 deletions(-)
 create mode 100644 tests/source/nested-if-else.rs
 create mode 100644 tests/target/nested-if-else.rs

diff --git a/src/expr.rs b/src/expr.rs
index 5aaaa2743f8..61c6cea55e9 100644
--- a/src/expr.rs
+++ b/src/expr.rs
@@ -1004,7 +1004,7 @@ impl<'a> Rewrite for ControlFlow<'a> {
                                         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 @@ impl<'a> Rewrite for ControlFlow<'a> {
                                         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
index 00000000000..9a54789ddcd
--- /dev/null
+++ b/tests/source/nested-if-else.rs
@@ -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
index 00000000000..4d5bf1f702a
--- /dev/null
+++ b/tests/target/nested-if-else.rs
@@ -0,0 +1,11 @@
+fn issue1518() {
+    Some(Object {
+             field: if a {
+                 a_thing
+             } else if b {
+                 b_thing
+             } else {
+                 c_thing
+             },
+         })
+}