diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2015-10-25 18:33:51 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2015-10-25 18:33:51 +0300 |
| commit | e8ddbba2ed356df4f5ef8f0742b810a4ecf82a50 (patch) | |
| tree | bbbc512c7b941f599658cade4e44cdd30c8de9f1 /src/libsyntax/ext | |
| parent | f68cd9aef12f474e7205771f3ef9385f254813e1 (diff) | |
| download | rust-e8ddbba2ed356df4f5ef8f0742b810a4ecf82a50.tar.gz rust-e8ddbba2ed356df4f5ef8f0742b810a4ecf82a50.zip | |
syntax/rustc_front: Simplify VariantData::fields
And use VariantData instead of P<VariantData> in Item_ and Variant_
Diffstat (limited to 'src/libsyntax/ext')
| -rw-r--r-- | src/libsyntax/ext/build.rs | 4 | ||||
| -rw-r--r-- | src/libsyntax/ext/deriving/generic/mod.rs | 8 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/libsyntax/ext/build.rs b/src/libsyntax/ext/build.rs index 9b06fbd0a0b..16a5eb05c4b 100644 --- a/src/libsyntax/ext/build.rs +++ b/src/libsyntax/ext/build.rs @@ -1012,7 +1012,7 @@ impl<'a> AstBuilder for ExtCtxt<'a> { ast::Variant_ { name: name, attrs: Vec::new(), - data: P(vdata), + data: vdata, disr_expr: None, }) } @@ -1041,7 +1041,7 @@ impl<'a> AstBuilder for ExtCtxt<'a> { fn item_struct_poly(&self, span: Span, name: Ident, struct_def: ast::VariantData, generics: Generics) -> P<ast::Item> { - self.item(span, name, Vec::new(), ast::ItemStruct(P(struct_def), generics)) + self.item(span, name, Vec::new(), ast::ItemStruct(struct_def, generics)) } fn item_mod(&self, span: Span, inner_span: Span, name: Ident, diff --git a/src/libsyntax/ext/deriving/generic/mod.rs b/src/libsyntax/ext/deriving/generic/mod.rs index 11bf6ec24ce..5c6e2fce8ad 100644 --- a/src/libsyntax/ext/deriving/generic/mod.rs +++ b/src/libsyntax/ext/deriving/generic/mod.rs @@ -652,7 +652,7 @@ impl<'a> TraitDef<'a> { struct_def: &'a VariantData, type_ident: Ident, generics: &Generics) -> P<ast::Item> { - let field_tys: Vec<P<ast::Ty>> = struct_def.fields() + let field_tys: Vec<P<ast::Ty>> = struct_def.fields().iter() .map(|field| field.node.ty.clone()) .collect(); @@ -700,7 +700,7 @@ impl<'a> TraitDef<'a> { let mut field_tys = Vec::new(); for variant in &enum_def.variants { - field_tys.extend(variant.node.data.fields() + field_tys.extend(variant.node.data.fields().iter() .map(|field| field.node.ty.clone())); } @@ -1483,7 +1483,7 @@ impl<'a> TraitDef<'a> { -> (P<ast::Pat>, Vec<(Span, Option<Ident>, P<Expr>, &'a [ast::Attribute])>) { - if struct_def.fields().count() == 0 { + if struct_def.fields().is_empty() { return (cx.pat_enum(self.span, struct_path, vec![]), vec![]); } @@ -1491,7 +1491,7 @@ impl<'a> TraitDef<'a> { let mut ident_expr = Vec::new(); let mut struct_type = Unknown; - for (i, struct_field) in struct_def.fields().enumerate() { + for (i, struct_field) in struct_def.fields().iter().enumerate() { let sp = self.set_expn_info(cx, struct_field.span); let opt_id = match struct_field.node.kind { ast::NamedField(ident, _) if (struct_type == Unknown || |
