Skip to content

Commit f006dd4

Browse files
committed
Auto merge of #51492 - petrochenkov:hirident, r=<try>
Use `Ident`s in HIR and remove emulation of hygiene with gensyms continuation of #51072, part of #49300 Not all `Name`s in HIR are replaced with `Ident`s, only those needed for hygiene or already having attached spans.
2 parents 18a00bd + 0dcd858 commit f006dd4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+546
-602
lines changed

src/librustc/hir/intravisit.rs

+27-27
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ pub enum FnKind<'a> {
5858
ItemFn(Name, &'a Generics, Unsafety, Constness, Abi, &'a Visibility, &'a [Attribute]),
5959

6060
/// fn foo(&self)
61-
Method(Name, &'a MethodSig, Option<&'a Visibility>, &'a [Attribute]),
61+
Method(Ident, &'a MethodSig, Option<&'a Visibility>, &'a [Attribute]),
6262

6363
/// |x, y| {}
6464
Closure(&'a [Attribute]),
@@ -421,14 +421,14 @@ pub fn walk_ident<'v, V: Visitor<'v>>(visitor: &mut V, ident: Ident) {
421421
}
422422

423423
pub fn walk_label<'v, V: Visitor<'v>>(visitor: &mut V, label: &'v Label) {
424-
visitor.visit_name(label.span, label.name);
424+
visitor.visit_ident(label.ident);
425425
}
426426

427427
pub fn walk_lifetime<'v, V: Visitor<'v>>(visitor: &mut V, lifetime: &'v Lifetime) {
428428
visitor.visit_id(lifetime.id);
429429
match lifetime.name {
430-
LifetimeName::Name(name) => {
431-
visitor.visit_name(lifetime.span, name);
430+
LifetimeName::Ident(ident) => {
431+
visitor.visit_ident(ident);
432432
}
433433
LifetimeName::Fresh(_) |
434434
LifetimeName::Static |
@@ -634,7 +634,7 @@ pub fn walk_path<'v, V: Visitor<'v>>(visitor: &mut V, path: &'v Path) {
634634
pub fn walk_path_segment<'v, V: Visitor<'v>>(visitor: &mut V,
635635
path_span: Span,
636636
segment: &'v PathSegment) {
637-
visitor.visit_name(path_span, segment.name);
637+
visitor.visit_ident(segment.ident);
638638
if let Some(ref parameters) = segment.parameters {
639639
visitor.visit_path_parameters(path_span, parameters);
640640
}
@@ -651,7 +651,7 @@ pub fn walk_path_parameters<'v, V: Visitor<'v>>(visitor: &mut V,
651651
pub fn walk_assoc_type_binding<'v, V: Visitor<'v>>(visitor: &mut V,
652652
type_binding: &'v TypeBinding) {
653653
visitor.visit_id(type_binding.id);
654-
visitor.visit_name(type_binding.span, type_binding.name);
654+
visitor.visit_ident(type_binding.ident);
655655
visitor.visit_ty(&type_binding.ty);
656656
}
657657

@@ -680,9 +680,9 @@ pub fn walk_pat<'v, V: Visitor<'v>>(visitor: &mut V, pattern: &'v Pat) {
680680
PatKind::Ref(ref subpattern, _) => {
681681
visitor.visit_pat(subpattern)
682682
}
683-
PatKind::Binding(_, canonical_id, ref pth1, ref optional_subpattern) => {
683+
PatKind::Binding(_, canonical_id, ident, ref optional_subpattern) => {
684684
visitor.visit_def_mention(Def::Local(canonical_id));
685-
visitor.visit_name(pth1.span, pth1.node);
685+
visitor.visit_ident(ident);
686686
walk_list!(visitor, visit_pat, optional_subpattern);
687687
}
688688
PatKind::Lit(ref expression) => visitor.visit_expr(expression),
@@ -705,11 +705,11 @@ pub fn walk_foreign_item<'v, V: Visitor<'v>>(visitor: &mut V, foreign_item: &'v
705705
visitor.visit_name(foreign_item.span, foreign_item.name);
706706

707707
match foreign_item.node {
708-
ForeignItemFn(ref function_declaration, ref names, ref generics) => {
708+
ForeignItemFn(ref function_declaration, ref param_names, ref generics) => {
709709
visitor.visit_generics(generics);
710710
visitor.visit_fn_decl(function_declaration);
711-
for name in names {
712-
visitor.visit_name(name.span, name.node);
711+
for &param_name in param_names {
712+
visitor.visit_ident(param_name);
713713
}
714714
}
715715
ForeignItemStatic(ref typ, _) => visitor.visit_ty(typ),
@@ -735,8 +735,8 @@ pub fn walk_generic_param<'v, V: Visitor<'v>>(visitor: &mut V, param: &'v Generi
735735
GenericParam::Lifetime(ref ld) => {
736736
visitor.visit_id(ld.lifetime.id);
737737
match ld.lifetime.name {
738-
LifetimeName::Name(name) => {
739-
visitor.visit_name(ld.lifetime.span, name);
738+
LifetimeName::Ident(ident) => {
739+
visitor.visit_ident(ident);
740740
}
741741
LifetimeName::Fresh(_) |
742742
LifetimeName::Static |
@@ -747,7 +747,7 @@ pub fn walk_generic_param<'v, V: Visitor<'v>>(visitor: &mut V, param: &'v Generi
747747
}
748748
GenericParam::Type(ref ty_param) => {
749749
visitor.visit_id(ty_param.id);
750-
visitor.visit_name(ty_param.span, ty_param.name);
750+
visitor.visit_ident(ty_param.ident);
751751
walk_list!(visitor, visit_ty_param_bound, &ty_param.bounds);
752752
walk_list!(visitor, visit_ty, &ty_param.default);
753753
walk_list!(visitor, visit_attribute, ty_param.attrs.iter());
@@ -827,7 +827,7 @@ pub fn walk_fn<'v, V: Visitor<'v>>(visitor: &mut V,
827827
}
828828

829829
pub fn walk_trait_item<'v, V: Visitor<'v>>(visitor: &mut V, trait_item: &'v TraitItem) {
830-
visitor.visit_name(trait_item.span, trait_item.name);
830+
visitor.visit_ident(trait_item.ident);
831831
walk_list!(visitor, visit_attribute, &trait_item.attrs);
832832
visitor.visit_generics(&trait_item.generics);
833833
match trait_item.node {
@@ -836,15 +836,15 @@ pub fn walk_trait_item<'v, V: Visitor<'v>>(visitor: &mut V, trait_item: &'v Trai
836836
visitor.visit_ty(ty);
837837
walk_list!(visitor, visit_nested_body, default);
838838
}
839-
TraitItemKind::Method(ref sig, TraitMethod::Required(ref names)) => {
839+
TraitItemKind::Method(ref sig, TraitMethod::Required(ref param_names)) => {
840840
visitor.visit_id(trait_item.id);
841841
visitor.visit_fn_decl(&sig.decl);
842-
for name in names {
843-
visitor.visit_name(name.span, name.node);
842+
for &param_name in param_names {
843+
visitor.visit_ident(param_name);
844844
}
845845
}
846846
TraitItemKind::Method(ref sig, TraitMethod::Provided(body_id)) => {
847-
visitor.visit_fn(FnKind::Method(trait_item.name,
847+
visitor.visit_fn(FnKind::Method(trait_item.ident,
848848
sig,
849849
None,
850850
&trait_item.attrs),
@@ -863,9 +863,9 @@ pub fn walk_trait_item<'v, V: Visitor<'v>>(visitor: &mut V, trait_item: &'v Trai
863863

864864
pub fn walk_trait_item_ref<'v, V: Visitor<'v>>(visitor: &mut V, trait_item_ref: &'v TraitItemRef) {
865865
// NB: Deliberately force a compilation error if/when new fields are added.
866-
let TraitItemRef { id, name, ref kind, span, ref defaultness } = *trait_item_ref;
866+
let TraitItemRef { id, ident, ref kind, span: _, ref defaultness } = *trait_item_ref;
867867
visitor.visit_nested_trait_item(id);
868-
visitor.visit_name(span, name);
868+
visitor.visit_ident(ident);
869869
visitor.visit_associated_item_kind(kind);
870870
visitor.visit_defaultness(defaultness);
871871
}
@@ -875,16 +875,16 @@ pub fn walk_impl_item<'v, V: Visitor<'v>>(visitor: &mut V, impl_item: &'v ImplIt
875875
let ImplItem {
876876
id: _,
877877
hir_id: _,
878-
name,
878+
ident,
879879
ref vis,
880880
ref defaultness,
881881
ref attrs,
882882
ref generics,
883883
ref node,
884-
span
884+
span: _,
885885
} = *impl_item;
886886

887-
visitor.visit_name(span, name);
887+
visitor.visit_ident(ident);
888888
visitor.visit_vis(vis);
889889
visitor.visit_defaultness(defaultness);
890890
walk_list!(visitor, visit_attribute, attrs);
@@ -896,7 +896,7 @@ pub fn walk_impl_item<'v, V: Visitor<'v>>(visitor: &mut V, impl_item: &'v ImplIt
896896
visitor.visit_nested_body(body);
897897
}
898898
ImplItemKind::Method(ref sig, body_id) => {
899-
visitor.visit_fn(FnKind::Method(impl_item.name,
899+
visitor.visit_fn(FnKind::Method(impl_item.ident,
900900
sig,
901901
Some(&impl_item.vis),
902902
&impl_item.attrs),
@@ -914,9 +914,9 @@ pub fn walk_impl_item<'v, V: Visitor<'v>>(visitor: &mut V, impl_item: &'v ImplIt
914914

915915
pub fn walk_impl_item_ref<'v, V: Visitor<'v>>(visitor: &mut V, impl_item_ref: &'v ImplItemRef) {
916916
// NB: Deliberately force a compilation error if/when new fields are added.
917-
let ImplItemRef { id, name, ref kind, span, ref vis, ref defaultness } = *impl_item_ref;
917+
let ImplItemRef { id, ident, ref kind, span: _, ref vis, ref defaultness } = *impl_item_ref;
918918
visitor.visit_nested_impl_item(id);
919-
visitor.visit_name(span, name);
919+
visitor.visit_ident(ident);
920920
visitor.visit_associated_item_kind(kind);
921921
visitor.visit_vis(vis);
922922
visitor.visit_defaultness(defaultness);

0 commit comments

Comments
 (0)