diff --git a/src/chains.rs b/src/chains.rs index 642fb93c3ba..816ce60ad4d 100644 --- a/src/chains.rs +++ b/src/chains.rs @@ -150,7 +150,11 @@ pub fn rewrite_chain(expr: &ast::Expr, context: &RewriteContext, shape: Shape) - .collect::>>()?; // Total of all items excluding the last. - let extend_last_subexpr = last_line_extendable(&parent_rewrite) && rewrites.is_empty(); + let extend_last_subexpr = if is_small_parent { + rewrites.len() == 1 && last_line_extendable(&rewrites[0]) + } else { + rewrites.is_empty() && last_line_extendable(&parent_rewrite) + }; let almost_total = if extend_last_subexpr { last_line_width(&parent_rewrite) } else {