if let Ok((ori, fmt)) = source_and_formatted_text(text, filename, config) {
let mismatch = make_diff(&ori, &fmt, 3);
let has_diff = !mismatch.is_empty();
- print_diff(mismatch,
- |line_num| format!("Diff in {} at line {}:", filename, line_num));
+ print_diff(mismatch, |line_num| {
+ format!("Diff in {} at line {}:", filename, line_num)
+ });
return Ok(has_diff);
}
}
let type_indent = indent + line_width;
// Try to fit the type on the same line
let ty_str = try_opt!(ty.rewrite(context, Shape::legacy(budget, type_indent))
- .or_else(|| {
- // The line was too short, try to put the type on the next line
+ .or_else(|| {
+ // The line was too short, try to put the type on the next line
- // Remove the space after '='
- result.pop();
- let type_indent = indent.block_indent(context.config);
- result.push('\n');
- result.push_str(&type_indent.to_string(context.config));
- let budget = try_opt!(context
- .config
- .max_width()
- .checked_sub(type_indent.width() + ";".len()));
- ty.rewrite(context, Shape::legacy(budget, type_indent))
- }));
+ // Remove the space after '='
+ result.pop();
+ let type_indent = indent.block_indent(context.config);
+ result.push('\n');
+ result.push_str(&type_indent.to_string(context.config));
+ let budget = try_opt!(context
+ .config
+ .max_width()
+ .checked_sub(type_indent.width() + ";".len()));
+ ty.rewrite(context, Shape::legacy(budget, type_indent))
+ }));
result.push_str(&ty_str);
result.push_str(";");
Some(result)
return filemap::write_file(file, file_name, out, config);
}
Ok(false)
- }
+ },
) {
Ok((file_map, has_diff)) => {
if report.has_warnings() {
MacroStyle::Parens => {
// Format macro invocation as function call, forcing no trailing
// comma because not all macros support them.
- rewrite_call(context, ¯o_name, &expr_vec, mac.span, shape).map(|rw| {
- match position {
+ rewrite_call(context, ¯o_name, &expr_vec, mac.span, shape).map(
+ |rw| match position {
MacroPosition::Item => format!("{};", rw),
_ => rw,
- }
- })
+ },
+ )
}
MacroStyle::Brackets => {
let mac_shape = try_opt!(shape.shrink_left(macro_name.len()));
} else {
// Format macro invocation as array literal.
let rewrite =
- try_opt!(rewrite_array(
- expr_vec.iter().map(|x| &**x),
- mk_sp(
- context
- .codemap
- .span_after(mac.span, original_style.opener()),
- mac.span.hi - BytePos(1),
- ),
- context,
- mac_shape,
- ));
+ try_opt!(rewrite_array(expr_vec.iter().map(|x| &**x),
+ mk_sp(context
+ .codemap
+ .span_after(mac.span, original_style.opener()),
+ mac.span.hi - BytePos(1)),
+ context,
+ mac_shape));
Some(format!("{}{}", macro_name, rewrite))
}
// TODO these format_missing methods are ugly. Refactor and add unit tests
// for the central whitespace stripping loop.
pub fn format_missing(&mut self, end: BytePos) {
- self.format_missing_inner(end,
- |this, last_snippet, _| this.buffer.push_str(last_snippet))
+ self.format_missing_inner(end, |this, last_snippet, _| {
+ this.buffer.push_str(last_snippet)
+ })
}
pub fn format_missing_with_indent(&mut self, end: BytePos) {
let used_width = lifetime_str.len() + type_str.len() + colon.len() + 6;
let budget = try_opt!(shape.width.checked_sub(used_width));
let bounds_str: String = try_opt!(bounds
- .iter()
- .map(|ty_bound| {
- ty_bound.rewrite(context, Shape::legacy(budget, shape.indent + used_width))
- })
- .collect::<Option<Vec<_>>>())
+ .iter()
+ .map(|ty_bound| {
+ ty_bound
+ .rewrite(context, Shape::legacy(budget, shape.indent + used_width))
+ })
+ .collect::<Option<Vec<_>>>())
.join(joiner);
if context.config.spaces_within_angle_brackets() && lifetime_str.len() > 0 {
let used_width = type_str.len() + colon.len();
let budget = try_opt!(shape.width.checked_sub(used_width));
let bounds_str: String = try_opt!(bounds
- .iter()
- .map(|ty_bound| {
- ty_bound.rewrite(context, Shape::legacy(budget, shape.indent + used_width))
- })
- .collect::<Option<Vec<_>>>())
+ .iter()
+ .map(|ty_bound| {
+ ty_bound
+ .rewrite(context, Shape::legacy(budget, shape.indent + used_width))
+ })
+ .collect::<Option<Vec<_>>>())
.join(joiner);
format!("{}{}{}", type_str, colon, bounds_str)
// This doesn't work out so nicely for mutliline situation with lots of
// rightward drift. If that is a problem, we could use the list stuff.
result.push_str(&try_opt!(bare_fn
- .lifetimes
- .iter()
- .map(|l| {
- l.rewrite(context,
- Shape::legacy(try_opt!(shape.width.checked_sub(6)), shape.indent + 4))
- })
- .collect::<Option<Vec<_>>>())
- .join(", "));
+ .lifetimes
+ .iter()
+ .map(|l| {
+ l.rewrite(context,
+ Shape::legacy(try_opt!(shape.width.checked_sub(6)), shape.indent + 4))
+ })
+ .collect::<Option<Vec<_>>>())
+ .join(", "));
result.push_str("> ");
}