]> git.lizzy.rs Git - rust.git/commitdiff
Merge pull request #2194 from topecongiro/use-cargo_metadata
authorNick Cameron <nrc@ncameron.org>
Mon, 27 Nov 2017 22:48:40 +0000 (11:48 +1300)
committerGitHub <noreply@github.com>
Mon, 27 Nov 2017 22:48:40 +0000 (11:48 +1300)
Use cargo_metadata

src/items.rs
tests/source/enum.rs
tests/target/enum.rs

index c9552cb131587549103464270e5e1969f51b708a..da110eef93400d003af6112fe80071727e67760d 100644 (file)
@@ -452,9 +452,7 @@ pub fn visit_enum(
         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);
 
@@ -535,8 +533,8 @@ fn format_variant(&self, field: &ast::Variant, one_line_width: usize) -> Option<
         }
 
         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
@@ -546,19 +544,15 @@ fn format_variant(&self, field: &ast::Variant, one_line_width: usize) -> Option<
         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()
             },
@@ -1314,7 +1308,7 @@ fn format_tuple_struct(
         }
         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)?;
index 821bb0efd993fe3b66ebc72cfb2e252ab282f778..f228e5ef64677553e8e80003a36c0fcb6c49435b 100644 (file)
@@ -165,3 +165,18 @@ enum State {
     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),
+}
index f3e8f2d4d6bfa6970069f4ed4564697fbfda5bd5..78b0fd1b69d03e92403423073cbe825d41bfd120 100644 (file)
@@ -215,3 +215,21 @@ enum State {
     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,
+    ),
+}