diff --git a/src/expr.rs b/src/expr.rs index 66cb22127a5e..6dc7af32ea1a 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 000000000000..9a54789ddcd6 --- /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 000000000000..4d5bf1f702a6 --- /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 + }, + }) +}