Some(width) => {
let tactic =
ListTactic::LimitedHorizontalVertical(context.config.array_width());
- definitive_tactic(&items, tactic, width)
+ definitive_tactic(&items, tactic, 2, width)
}
None => DefinitiveListTactic::Vertical,
}
definitive_tactic(
&items,
ListTactic::LimitedHorizontalVertical(context.config.array_width()),
+ 2,
nested_shape.width,
)
} else {
.width
.checked_sub(ret_str.len() + 1)
.unwrap_or(0);
- let tactic = definitive_tactic(&item_vec, ListTactic::HorizontalVertical, horizontal_budget);
+ let tactic = definitive_tactic(
+ &item_vec,
+ ListTactic::HorizontalVertical,
+ 2,
+ horizontal_budget,
+ );
let arg_shape = match tactic {
DefinitiveListTactic::Horizontal => try_opt!(arg_shape.sub_width(ret_str.len() + 1)),
_ => arg_shape,
);
let items: Vec<_> = pat_strs.into_iter().map(ListItem::from_str).collect();
- let tactic = definitive_tactic(&items, ListTactic::HorizontalVertical, pat_shape.width);
+ let tactic = definitive_tactic(&items, ListTactic::HorizontalVertical, 3, pat_shape.width);
let fmt = ListFormatting {
tactic: tactic,
separator: " |",
let tactic = definitive_tactic(
&*item_vec,
ListTactic::LimitedHorizontalVertical(args_max_width),
+ 2,
one_line_width,
);
let tactic = definitive_tactic(
&item_vec,
ListTactic::HorizontalVertical,
+ 2,
nested_shape.width,
);
let fmt = ListFormatting {
let tactic = definitive_tactic(
&items[first_index..],
context.config.imports_layout(),
+ 2,
remaining_width,
);
let tactic = definitive_tactic(
&arg_items,
context.config.fn_args_density().to_list_tactic(),
+ 2,
one_line_budget,
);
let budget = match tactic {
{
let item_vec = items.collect::<Vec<_>>();
- let tactic = definitive_tactic(&item_vec, ListTactic::HorizontalVertical, one_line_budget);
+ let tactic = definitive_tactic(
+ &item_vec,
+ ListTactic::HorizontalVertical,
+ 2,
+ one_line_budget,
+ );
let fmt = ListFormatting {
tactic: tactic,
separator: ",",
let item_vec = items.collect::<Vec<_>>();
// FIXME: we don't need to collect here if the where_layout isn't
// HorizontalVertical.
- let tactic = definitive_tactic(&item_vec, context.config.where_layout(), budget);
+ let tactic = definitive_tactic(&item_vec, context.config.where_layout(), 2, budget);
let mut comma_tactic = context.config.trailing_comma();
// Kind of a hack because we don't usually have trailing commas in where clauses.
}
}
-pub fn definitive_tactic<I, T>(items: I, tactic: ListTactic, width: usize) -> DefinitiveListTactic
+pub fn definitive_tactic<I, T>(
+ items: I,
+ tactic: ListTactic,
+ sep_len: usize,
+ width: usize,
+) -> DefinitiveListTactic
where
I: IntoIterator<Item = T> + Clone,
T: AsRef<ListItem>,
};
let (sep_count, total_width) = calculate_width(items.clone());
- let sep_len = ", ".len(); // FIXME: make more generic?
let total_sep_len = sep_len * sep_count.checked_sub(1).unwrap_or(0);
let real_total = total_width + total_sep_len;
(IndentStyle::Visual, 1) => ListTactic::HorizontalVertical,
_ => context.config.struct_lit_multiline_style().to_list_tactic(),
};
- definitive_tactic(items, prelim_tactic, h_shape.width)
+ definitive_tactic(items, prelim_tactic, 2, h_shape.width)
} else {
DefinitiveListTactic::Vertical
}
let item_vec: Vec<_> = items.collect();
- let tactic = definitive_tactic(&*item_vec, ListTactic::HorizontalVertical, budget);
+ let tactic = definitive_tactic(&*item_vec, ListTactic::HorizontalVertical, 2, budget);
let fmt = ListFormatting {
tactic: tactic,
span.hi,
).collect::<Vec<_>>();
- let tactic = definitive_tactic(&items, ListTactic::HorizontalVertical, one_line_width);
+ let tactic = definitive_tactic(&items, ListTactic::HorizontalVertical, 2, one_line_width);
let fmt = ListFormatting {
tactic: tactic,