let body_shape = try_opt!(shape.offset_left(extra_offset));
// When overflowing the closure which consists of a single control flow expression,
// force to use block if its condition uses multi line.
- if rewrite_cond(context, body, body_shape)
- .map(|cond| cond.contains('\n'))
- .unwrap_or(false)
- {
+ let is_multi_lined_cond = rewrite_cond(context, body, body_shape)
+ .map(|cond| cond.contains('\n') || cond.len() > body_shape.width)
+ .unwrap_or(false);
+ if is_multi_lined_cond {
return rewrite_closure_with_block(context, body_shape, &prefix, body);
}