Use a correct budget for where predicate

This commit is contained in:
Seiichi Uchida 2017-10-02 00:00:48 +09:00
parent 1b84623aac
commit eebad40932
2 changed files with 5 additions and 3 deletions

View File

@ -2484,7 +2484,9 @@ fn rewrite_where_clause_rfc_style(
"\n".to_owned() + &block_shape.indent.to_string(context.config)
};
let clause_shape = block_shape.block_indent(context.config.tab_spaces());
let clause_shape = try_opt!(block_shape.block_left(context.config.tab_spaces()));
// 1 = `,`
let clause_shape = try_opt!(clause_shape.sub_width(1));
// each clause on one line, trailing comma (except if suppress_comma)
let span_start = where_clause.predicates[0].span().lo();
// If we don't have the start of the next span, then use the end of the
@ -2498,7 +2500,7 @@ fn rewrite_where_clause_rfc_style(
terminator,
|pred| pred.span().lo(),
|pred| pred.span().hi(),
|pred| pred.rewrite(context, block_shape),
|pred| pred.rewrite(context, clause_shape),
span_start,
span_end,
false,

View File

@ -463,7 +463,7 @@ impl Rewrite for ast::WherePredicate {
let used_width = type_str.len() + colon.len();
let ty_shape = match context.config.where_style() {
Style::Legacy => try_opt!(shape.block_left(used_width)),
Style::Rfc => shape.block_indent(context.config.tab_spaces()),
Style::Rfc => shape,
};
let bounds: Vec<_> = try_opt!(
bounds