let variant_list = self.format_variant_list(enum_def, body_start, span.hi() - BytePos(1));
match variant_list {
Some(ref body_str) => self.buffer.push_str(body_str),
- None => if contains_comment(&enum_snippet[brace_pos..]) {
- self.format_missing_no_indent(span.hi() - BytePos(1))
- },
+ None => self.format_missing_no_indent(span.hi() - BytePos(1)),
}
self.block_indent = self.block_indent.block_unindent(self.config);
}
let context = self.get_context();
- let indent = self.block_indent;
- let shape = self.shape();
+ // 1 = ','
+ let shape = self.shape().sub_width(1)?;
let attrs_str = field.node.attrs.rewrite(&context, shape)?;
let lo = field
.node
let span = mk_sp(lo, field.span.lo());
let variant_body = match field.node.data {
- ast::VariantData::Tuple(..) | ast::VariantData::Struct(..) => {
- // FIXME: Should limit the width, as we have a trailing comma
- format_struct(
- &context,
- &StructParts::from_variant(field),
- indent,
- Some(one_line_width),
- )?
- }
+ ast::VariantData::Tuple(..) | ast::VariantData::Struct(..) => format_struct(
+ &context,
+ &StructParts::from_variant(field),
+ self.block_indent,
+ Some(one_line_width),
+ )?,
ast::VariantData::Unit(..) => if let Some(ref expr) = field.node.disr_expr {
let lhs = format!("{} =", field.node.name);
- // 1 = ','
- rewrite_assign_rhs(&context, lhs, &**expr, shape.sub_width(1)?)?
+ rewrite_assign_rhs(&context, lhs, &**expr, shape)?
} else {
field.node.name.to_string()
},
}
result.push(')');
} else {
- let shape = Shape::indented(offset, context.config);
+ let shape = Shape::indented(offset, context.config).sub_width(1)?;
let fields = &fields.iter().map(|field| field).collect::<Vec<_>>()[..];
let one_line_width = context.config.width_heuristics().fn_call_width;
result = rewrite_call_inner(context, &result, fields, span, shape, one_line_width, false)?;
TimedOut,
Disconnected,
}
+
+// #2190
+#[derive(Debug, Fail)]
+enum AnError {
+ #[fail(display = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")]
+ UnexpectedSingleToken { token: syn::Token },
+}
+
+// #2193
+enum WidthOf101 {
+ #[fail(display = ".....................................................")] Io(::std::io::Error),
+ #[fail(display = ".....................................................")] Ioo(::std::io::Error),
+ Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(::std::io::Error),
+ Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(::std::io::Error),
+}
TimedOut,
Disconnected,
}
+
+// #2190
+#[derive(Debug, Fail)]
+enum AnError {
+ #[fail(display = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")]
+ UnexpectedSingleToken { token: syn::Token },
+}
+
+// #2193
+enum WidthOf101 {
+ #[fail(display = ".....................................................")] Io(::std::io::Error),
+ #[fail(display = ".....................................................")]
+ Ioo(::std::io::Error),
+ Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(::std::io::Error),
+ Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(
+ ::std::io::Error,
+ ),
+}