}
fn rewrite_prefix(&self, context: &RewriteContext, shape: Shape) -> Option<String> {
- let attrs_str = try_opt!(self.attrs.rewrite(context, shape));
+ let attrs_str = self.attrs.rewrite(context, shape)?;
let missing_span = if self.attrs.is_empty() {
mk_sp(self.span.lo(), self.span.lo())
} else {
}
fn rewrite_prefix(&self, context: &RewriteContext, shape: Shape) -> Option<String> {
- let attrs_str = try_opt!(self.attrs.rewrite(context, shape));
+ let attrs_str = self.attrs.rewrite(context, shape)?;
let name = &self.ident.node.to_string();
let missing_span = if self.attrs.is_empty() {
mk_sp(self.span.lo(), self.span.lo())
};
let init_span = mk_sp(span.lo(), init_last_pos);
let one_line_width = if rest.is_empty() { one_line_width } else { 0 };
- let result = try_opt!(rewrite_aligned_items_inner(
- context,
- init,
- init_span,
- shape.indent,
- one_line_width,
- ));
+ let result =
+ rewrite_aligned_items_inner(context, init, init_span, shape.indent, one_line_width)?;
if rest.is_empty() {
Some(result + spaces)
} else {
let rest_span = mk_sp(init_last_pos, span.hi());
- let rest_str = try_opt!(rewrite_with_alignment(
- rest,
- context,
- shape,
- rest_span,
- one_line_width,
- ));
+ let rest_str = rewrite_with_alignment(rest, context, shape, rest_span, one_line_width)?;
Some(
result + spaces + "\n"
+ &shape
}
}
-fn struct_field_preix_max_min_width<T: AlignedItem>(
+fn struct_field_prefix_max_min_width<T: AlignedItem>(
context: &RewriteContext,
fields: &[T],
shape: Shape,
fields
.iter()
.map(|field| {
- field
- .rewrite_prefix(context, shape)
- .and_then(|field_str| if field_str.contains('\n') {
+ field.rewrite_prefix(context, shape).and_then(|field_str| {
+ if field_str.contains('\n') {
None
} else {
Some(field_str.len())
- })
+ }
+ })
})
.fold(Some((0, ::std::usize::MAX)), |acc, len| match (acc, len) {
(Some((max_len, min_len)), Some(len)) => {
) -> Option<String> {
let item_indent = offset.block_indent(context.config);
// 1 = ","
- let item_shape = try_opt!(Shape::indented(item_indent, context.config).sub_width(1));
+ let item_shape = Shape::indented(item_indent, context.config).sub_width(1)?;
let (mut field_prefix_max_width, field_prefix_min_width) =
- struct_field_preix_max_min_width(context, fields, item_shape);
+ struct_field_prefix_max_min_width(context, fields, item_shape);
let max_diff = field_prefix_max_width
.checked_sub(field_prefix_min_width)
.unwrap_or(0);