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/fold.rs | |
| 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/fold.rs')
| -rw-r--r-- | src/libsyntax/fold.rs | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/src/libsyntax/fold.rs b/src/libsyntax/fold.rs index 219a4649339..be910285db3 100644 --- a/src/libsyntax/fold.rs +++ b/src/libsyntax/fold.rs @@ -231,8 +231,8 @@ pub trait Folder : Sized { noop_fold_poly_trait_ref(p, self) } - fn fold_variant_data(&mut self, struct_def: P<VariantData>) -> P<VariantData> { - noop_fold_struct_def(struct_def, self) + fn fold_variant_data(&mut self, vdata: VariantData) -> VariantData { + noop_fold_variant_data(vdata, self) } fn fold_lifetimes(&mut self, lts: Vec<Lifetime>) -> Vec<Lifetime> { @@ -814,20 +814,18 @@ pub fn noop_fold_where_predicate<T: Folder>( } } -pub fn noop_fold_struct_def<T: Folder>(struct_def: P<VariantData>, fld: &mut T) -> P<VariantData> { - struct_def.map(|vdata| { - match vdata { - ast::VariantData::Struct(fields, id) => { - ast::VariantData::Struct(fields.move_map(|f| fld.fold_struct_field(f)), - fld.new_id(id)) - } - ast::VariantData::Tuple(fields, id) => { - ast::VariantData::Tuple(fields.move_map(|f| fld.fold_struct_field(f)), - fld.new_id(id)) - } - ast::VariantData::Unit(id) => ast::VariantData::Unit(fld.new_id(id)) +pub fn noop_fold_variant_data<T: Folder>(vdata: VariantData, fld: &mut T) -> VariantData { + match vdata { + ast::VariantData::Struct(fields, id) => { + ast::VariantData::Struct(fields.move_map(|f| fld.fold_struct_field(f)), + fld.new_id(id)) } - }) + ast::VariantData::Tuple(fields, id) => { + ast::VariantData::Tuple(fields.move_map(|f| fld.fold_struct_field(f)), + fld.new_id(id)) + } + ast::VariantData::Unit(id) => ast::VariantData::Unit(fld.new_id(id)) + } } pub fn noop_fold_trait_ref<T: Folder>(p: TraitRef, fld: &mut T) -> TraitRef { |
