diff --git a/src/librustc/front/map/blocks.rs b/src/librustc/front/map/blocks.rs index 4e16d9e567089..4cd2246f14065 100644 --- a/src/librustc/front/map/blocks.rs +++ b/src/librustc/front/map/blocks.rs @@ -189,13 +189,13 @@ impl<'a> FnLikeNode<'a> { pub fn kind(self) -> FnKind<'a> { let item = |p: ItemFnParts<'a>| -> FnKind<'a> { - FnKind::ItemFn(p.ident, p.generics, p.unsafety, p.constness, p.abi, p.vis) + FnKind::ItemFn(p.ident.name, p.generics, p.unsafety, p.constness, p.abi, p.vis) }; let closure = |_: ClosureParts| { FnKind::Closure }; - let method = |_, ident, sig: &'a ast::MethodSig, vis, _, _| { - FnKind::Method(ident, sig, vis) + let method = |_, ident: Ident, sig: &'a ast::MethodSig, vis, _, _| { + FnKind::Method(ident.name, sig, vis) }; self.handle(item, method, closure) } diff --git a/src/librustc/lint/context.rs b/src/librustc/lint/context.rs index d3392c02b6f3b..ae9c3ce7e0b46 100644 --- a/src/librustc/lint/context.rs +++ b/src/librustc/lint/context.rs @@ -663,12 +663,12 @@ impl<'a, 'tcx, 'v> hir_visit::Visitor<'v> for LateContext<'a, 'tcx> { fn visit_struct_def(&mut self, s: &hir::StructDef, - ident: ast::Ident, + name: ast::Name, g: &hir::Generics, id: ast::NodeId) { - run_lints!(self, check_struct_def, late_passes, s, ident, g, id); + run_lints!(self, check_struct_def, late_passes, s, name, g, id); hir_visit::walk_struct_def(self, s); - run_lints!(self, check_struct_def_post, late_passes, s, ident, g, id); + run_lints!(self, check_struct_def_post, late_passes, s, name, g, id); } fn visit_struct_field(&mut self, s: &hir::StructField) { @@ -691,8 +691,8 @@ impl<'a, 'tcx, 'v> hir_visit::Visitor<'v> for LateContext<'a, 'tcx> { hir_visit::walk_ty(self, t); } - fn visit_ident(&mut self, sp: Span, id: ast::Ident) { - run_lints!(self, check_ident, late_passes, sp, id); + fn visit_name(&mut self, sp: Span, name: ast::Name) { + run_lints!(self, check_name, late_passes, sp, name); } fn visit_mod(&mut self, m: &hir::Mod, s: Span, n: ast::NodeId) { diff --git a/src/librustc/lint/mod.rs b/src/librustc/lint/mod.rs index 08d1b445690d2..b30ac7033b7bc 100644 --- a/src/librustc/lint/mod.rs +++ b/src/librustc/lint/mod.rs @@ -130,7 +130,7 @@ pub trait LintPass { // FIXME: eliminate the duplication with `Visitor`. But this also // contains a few lint-specific methods with no equivalent in `Visitor`. pub trait LateLintPass: LintPass { - fn check_ident(&mut self, _: &LateContext, _: Span, _: ast::Ident) { } + fn check_name(&mut self, _: &LateContext, _: Span, _: ast::Name) { } fn check_crate(&mut self, _: &LateContext, _: &hir::Crate) { } fn check_mod(&mut self, _: &LateContext, _: &hir::Mod, _: Span, _: ast::NodeId) { } fn check_foreign_item(&mut self, _: &LateContext, _: &hir::ForeignItem) { } @@ -150,9 +150,9 @@ pub trait LateLintPass: LintPass { fn check_trait_item(&mut self, _: &LateContext, _: &hir::TraitItem) { } fn check_impl_item(&mut self, _: &LateContext, _: &hir::ImplItem) { } fn check_struct_def(&mut self, _: &LateContext, - _: &hir::StructDef, _: ast::Ident, _: &hir::Generics, _: ast::NodeId) { } + _: &hir::StructDef, _: ast::Name, _: &hir::Generics, _: ast::NodeId) { } fn check_struct_def_post(&mut self, _: &LateContext, - _: &hir::StructDef, _: ast::Ident, _: &hir::Generics, _: ast::NodeId) { } + _: &hir::StructDef, _: ast::Name, _: &hir::Generics, _: ast::NodeId) { } fn check_struct_field(&mut self, _: &LateContext, _: &hir::StructField) { } fn check_variant(&mut self, _: &LateContext, _: &hir::Variant, _: &hir::Generics) { } fn check_variant_post(&mut self, _: &LateContext, _: &hir::Variant, _: &hir::Generics) { } diff --git a/src/librustc/middle/dead.rs b/src/librustc/middle/dead.rs index e077d6d35c74f..dc95e86f80f67 100644 --- a/src/librustc/middle/dead.rs +++ b/src/librustc/middle/dead.rs @@ -207,7 +207,7 @@ impl<'a, 'tcx> MarkSymbolVisitor<'a, 'tcx> { impl<'a, 'tcx, 'v> Visitor<'v> for MarkSymbolVisitor<'a, 'tcx> { - fn visit_struct_def(&mut self, def: &hir::StructDef, _: ast::Ident, + fn visit_struct_def(&mut self, def: &hir::StructDef, _: ast::Name, _: &hir::Generics, _: ast::NodeId) { let has_extern_repr = self.struct_has_extern_repr; let inherited_pub_visibility = self.inherited_pub_visibility; diff --git a/src/librustc_back/svh.rs b/src/librustc_back/svh.rs index 27d63d8a539af..93c7c928b3c91 100644 --- a/src/librustc_back/svh.rs +++ b/src/librustc_back/svh.rs @@ -131,7 +131,7 @@ mod svh_visitor { pub use self::SawExprComponent::*; pub use self::SawStmtComponent::*; use self::SawAbiComponent::*; - use syntax::ast::{self, NodeId, Ident}; + use syntax::ast::{self, Name, NodeId}; use syntax::codemap::Span; use syntax::parse::token; use rustc_front::visit; @@ -302,9 +302,9 @@ mod svh_visitor { } impl<'a, 'v> Visitor<'v> for StrictVersionHashVisitor<'a> { - fn visit_struct_def(&mut self, s: &StructDef, ident: Ident, + fn visit_struct_def(&mut self, s: &StructDef, name: Name, g: &Generics, _: NodeId) { - SawStructDef(ident.name.as_str()).hash(self.st); + SawStructDef(name.as_str()).hash(self.st); visit::walk_generics(self, g); visit::walk_struct_def(self, s) } @@ -341,8 +341,8 @@ mod svh_visitor { // (If you edit a method such that it deviates from the // pattern, please move that method up above this comment.) - fn visit_ident(&mut self, _: Span, ident: Ident) { - SawIdent(ident.name.as_str()).hash(self.st); + fn visit_name(&mut self, _: Span, name: Name) { + SawIdent(name.as_str()).hash(self.st); } fn visit_lifetime_ref(&mut self, l: &Lifetime) { diff --git a/src/librustc_front/fold.rs b/src/librustc_front/fold.rs index 1371799a051e2..cd97baf91208e 100644 --- a/src/librustc_front/fold.rs +++ b/src/librustc_front/fold.rs @@ -12,7 +12,7 @@ //! and returns a piece of the same type. use hir::*; -use syntax::ast::{Ident, NodeId, DUMMY_NODE_ID, Attribute, Attribute_, MetaItem}; +use syntax::ast::{Ident, Name, NodeId, DUMMY_NODE_ID, Attribute, Attribute_, MetaItem}; use syntax::ast::{MetaWord, MetaList, MetaNameValue}; use hir; use syntax::codemap::{respan, Span, Spanned}; @@ -147,8 +147,8 @@ pub trait Folder : Sized { noop_fold_variant(v, self) } - fn fold_ident(&mut self, i: Ident) -> Ident { - noop_fold_ident(i, self) + fn fold_name(&mut self, n: Name) -> Name { + noop_fold_name(n, self) } fn fold_usize(&mut self, i: usize) -> usize { @@ -284,6 +284,10 @@ pub trait Folder : Sized { } } +fn fold_ident(f: &mut T, i: Ident) -> Ident { + Ident { name: f.fold_name(i.name), ctxt: i.ctxt } +} + pub fn noop_fold_meta_items(meta_items: Vec>, fld: &mut T) -> Vec> { meta_items.move_map(|x| fld.fold_meta_item(x)) @@ -435,8 +439,8 @@ pub fn noop_fold_variant(v: P, fld: &mut T) -> P { }) } -pub fn noop_fold_ident(i: Ident, _: &mut T) -> Ident { - i +pub fn noop_fold_name(n: Name, _: &mut T) -> Name { + n } pub fn noop_fold_usize(i: usize, _: &mut T) -> usize { @@ -447,7 +451,7 @@ pub fn noop_fold_path(Path {global, segments, span}: Path, fld: &mut Path { global: global, segments: segments.move_map(|PathSegment {identifier, parameters}| PathSegment { - identifier: fld.fold_ident(identifier), + identifier: fold_ident(fld, identifier), parameters: fld.fold_path_parameters(parameters), }), span: fld.new_span(span) @@ -719,7 +723,7 @@ pub fn noop_fold_struct_field(f: StructField, fld: &mut T) -> StructF pub fn noop_fold_field(Field {ident, expr, span}: Field, folder: &mut T) -> Field { Field { - ident: respan(ident.span, folder.fold_ident(ident.node)), + ident: respan(ident.span, fold_ident(folder, ident.node)), expr: folder.fold_expr(expr), span: folder.new_span(span) } @@ -835,7 +839,7 @@ pub fn noop_fold_trait_item(i: P, folder: &mut T) -> SmallVector> { SmallVector::one(i.map(|TraitItem {id, ident, attrs, node, span}| TraitItem { id: folder.new_id(id), - ident: folder.fold_ident(ident), + ident: fold_ident(folder, ident), attrs: fold_attrs(attrs, folder), node: match node { ConstTraitItem(ty, default) => { @@ -859,7 +863,7 @@ pub fn noop_fold_impl_item(i: P, folder: &mut T) -> SmallVector> { SmallVector::one(i.map(|ImplItem {id, ident, attrs, node, vis, span}| ImplItem { id: folder.new_id(id), - ident: folder.fold_ident(ident), + ident: fold_ident(folder, ident), attrs: fold_attrs(attrs, folder), vis: vis, node: match node { @@ -943,7 +947,7 @@ pub fn noop_fold_item_simple(Item {id, ident, attrs, node, vis, span} Item { id: id, - ident: folder.fold_ident(ident), + ident: fold_ident(folder, ident), attrs: fold_attrs(attrs, folder), node: node, vis: vis, @@ -954,7 +958,7 @@ pub fn noop_fold_item_simple(Item {id, ident, attrs, node, vis, span} pub fn noop_fold_foreign_item(ni: P, folder: &mut T) -> P { ni.map(|ForeignItem {id, ident, attrs, node, span, vis}| ForeignItem { id: folder.new_id(id), - ident: folder.fold_ident(ident), + ident: fold_ident(folder, ident), attrs: fold_attrs(attrs, folder), node: match node { ForeignItemFn(fdec, generics) => { @@ -988,7 +992,7 @@ pub fn noop_fold_pat(p: P, folder: &mut T) -> P { PatIdent(binding_mode, pth1, sub) => { PatIdent(binding_mode, Spanned{span: folder.new_span(pth1.span), - node: folder.fold_ident(pth1.node)}, + node: fold_ident(folder, pth1.node)}, sub.map(|x| folder.fold_pat(x))) } PatLit(e) => PatLit(folder.fold_expr(e)), @@ -1048,7 +1052,7 @@ pub fn noop_fold_expr(Expr {id, node, span}: Expr, folder: &mut T) -> } ExprMethodCall(i, tps, args) => { ExprMethodCall( - respan(folder.new_span(i.span), folder.fold_ident(i.node)), + respan(folder.new_span(i.span), fold_ident(folder, i.node)), tps.move_map(|x| folder.fold_ty(x)), args.move_map(|x| folder.fold_expr(x))) } @@ -1073,11 +1077,11 @@ pub fn noop_fold_expr(Expr {id, node, span}: Expr, folder: &mut T) -> ExprWhile(cond, body, opt_ident) => { ExprWhile(folder.fold_expr(cond), folder.fold_block(body), - opt_ident.map(|i| folder.fold_ident(i))) + opt_ident.map(|i| fold_ident(folder, i))) } ExprLoop(body, opt_ident) => { ExprLoop(folder.fold_block(body), - opt_ident.map(|i| folder.fold_ident(i))) + opt_ident.map(|i| fold_ident(folder, i))) } ExprMatch(expr, arms, source) => { ExprMatch(folder.fold_expr(expr), @@ -1101,7 +1105,7 @@ pub fn noop_fold_expr(Expr {id, node, span}: Expr, folder: &mut T) -> ExprField(el, ident) => { ExprField(folder.fold_expr(el), respan(folder.new_span(ident.span), - folder.fold_ident(ident.node))) + fold_ident(folder, ident.node))) } ExprTupField(el, ident) => { ExprTupField(folder.fold_expr(el), @@ -1126,11 +1130,11 @@ pub fn noop_fold_expr(Expr {id, node, span}: Expr, folder: &mut T) -> } ExprBreak(opt_ident) => ExprBreak(opt_ident.map(|label| respan(folder.new_span(label.span), - folder.fold_ident(label.node))) + fold_ident(folder, label.node))) ), ExprAgain(opt_ident) => ExprAgain(opt_ident.map(|label| respan(folder.new_span(label.span), - folder.fold_ident(label.node))) + fold_ident(folder, label.node))) ), ExprRet(e) => ExprRet(e.map(|x| folder.fold_expr(x))), ExprInlineAsm(InlineAsm { diff --git a/src/librustc_front/util.rs b/src/librustc_front/util.rs index 0a47da77a8fce..00abb14d40ff8 100644 --- a/src/librustc_front/util.rs +++ b/src/librustc_front/util.rs @@ -12,7 +12,7 @@ use hir; use hir::*; use visit::{self, Visitor, FnKind}; use syntax::ast_util; -use syntax::ast::{Ident, NodeId, DUMMY_NODE_ID}; +use syntax::ast::{Ident, Name, NodeId, DUMMY_NODE_ID}; use syntax::codemap::Span; use syntax::ptr::P; use syntax::owned_slice::OwnedSlice; @@ -286,7 +286,7 @@ impl<'a, 'v, O: ast_util::IdVisitingOperation> Visitor<'v> for IdVisitor<'a, O> fn visit_struct_def(&mut self, struct_def: &StructDef, - _: Ident, + _: Name, _: &hir::Generics, id: NodeId) { self.operation.visit_id(id); diff --git a/src/librustc_front/visit.rs b/src/librustc_front/visit.rs index 8f5208d3ef119..356fb52599e37 100644 --- a/src/librustc_front/visit.rs +++ b/src/librustc_front/visit.rs @@ -24,7 +24,7 @@ //! those that are created by the expansion of a macro. use syntax::abi::Abi; -use syntax::ast::{Ident, NodeId, CRATE_NODE_ID, Name, Attribute}; +use syntax::ast::{NodeId, CRATE_NODE_ID, Name, Attribute}; use hir::*; use hir; use syntax::codemap::Span; @@ -34,10 +34,10 @@ use syntax::owned_slice::OwnedSlice; #[derive(Copy, Clone, PartialEq, Eq)] pub enum FnKind<'a> { /// fn foo() or extern "Abi" fn foo() - ItemFn(Ident, &'a Generics, Unsafety, Constness, Abi, Visibility), + ItemFn(Name, &'a Generics, Unsafety, Constness, Abi, Visibility), /// fn foo(&self) - Method(Ident, &'a MethodSig, Option), + Method(Name, &'a MethodSig, Option), /// |x, y| ... /// proc(x, y) ... @@ -57,9 +57,6 @@ pub trait Visitor<'v> : Sized { fn visit_name(&mut self, _span: Span, _name: Name) { // Nothing to do. } - fn visit_ident(&mut self, span: Span, ident: Ident) { - self.visit_name(span, ident.name); - } fn visit_mod(&mut self, m: &'v Mod, _s: Span, _n: NodeId) { walk_mod(self, m) } fn visit_foreign_item(&mut self, i: &'v ForeignItem) { walk_foreign_item(self, i) } fn visit_item(&mut self, i: &'v Item) { walk_item(self, i) } @@ -85,7 +82,7 @@ pub trait Visitor<'v> : Sized { fn visit_poly_trait_ref(&mut self, t: &'v PolyTraitRef, m: &'v TraitBoundModifier) { walk_poly_trait_ref(self, t, m) } - fn visit_struct_def(&mut self, s: &'v StructDef, _: Ident, _: &'v Generics, _: NodeId) { + fn visit_struct_def(&mut self, s: &'v StructDef, _: Name, _: &'v Generics, _: NodeId) { walk_struct_def(self, s) } fn visit_struct_field(&mut self, s: &'v StructField) { walk_struct_field(self, s) } @@ -201,12 +198,13 @@ pub fn walk_trait_ref<'v,V>(visitor: &mut V, } pub fn walk_item<'v, V: Visitor<'v>>(visitor: &mut V, item: &'v Item) { - visitor.visit_ident(item.span, item.ident); + visitor.visit_name(item.span, item.ident.name); match item.node { ItemExternCrate(..) => {} ItemUse(ref vp) => { match vp.node { - ViewPathSimple(_ident, ref path) => { + ViewPathSimple(name, ref path) => { + visitor.visit_name(vp.span, name); visitor.visit_path(path, item.id); } ViewPathGlob(ref path) => { @@ -229,7 +227,7 @@ pub fn walk_item<'v, V: Visitor<'v>>(visitor: &mut V, item: &'v Item) { visitor.visit_expr(&**expr); } ItemFn(ref declaration, unsafety, constness, abi, ref generics, ref body) => { - visitor.visit_fn(FnKind::ItemFn(item.ident, generics, unsafety, + visitor.visit_fn(FnKind::ItemFn(item.ident.name, generics, unsafety, constness, abi, item.vis), &**declaration, &**body, @@ -273,7 +271,7 @@ pub fn walk_item<'v, V: Visitor<'v>>(visitor: &mut V, item: &'v Item) { ItemStruct(ref struct_definition, ref generics) => { visitor.visit_generics(generics); visitor.visit_struct_def(&**struct_definition, - item.ident, + item.ident.name, generics, item.id) } @@ -301,7 +299,7 @@ pub fn walk_enum_def<'v, V: Visitor<'v>>(visitor: &mut V, pub fn walk_variant<'v, V: Visitor<'v>>(visitor: &mut V, variant: &'v Variant, generics: &'v Generics) { - visitor.visit_ident(variant.span, variant.node.name); + visitor.visit_name(variant.span, variant.node.name.name); match variant.node.kind { TupleVariantKind(ref variant_arguments) => { @@ -311,7 +309,7 @@ pub fn walk_variant<'v, V: Visitor<'v>>(visitor: &mut V, } StructVariantKind(ref struct_definition) => { visitor.visit_struct_def(&**struct_definition, - variant.node.name, + variant.node.name.name, generics, variant.node.id) } @@ -411,7 +409,7 @@ pub fn walk_path_list_item<'v, V: Visitor<'v>>(visitor: &mut V, prefix: &'v Path pub fn walk_path_segment<'v, V: Visitor<'v>>(visitor: &mut V, path_span: Span, segment: &'v PathSegment) { - visitor.visit_ident(path_span, segment.identifier); + visitor.visit_name(path_span, segment.identifier.name); visitor.visit_path_parameters(path_span, &segment.parameters); } @@ -443,7 +441,7 @@ pub fn walk_path_parameters<'v, V: Visitor<'v>>(visitor: &mut V, pub fn walk_assoc_type_binding<'v, V: Visitor<'v>>(visitor: &mut V, type_binding: &'v TypeBinding) { - visitor.visit_ident(type_binding.span, type_binding.ident); + visitor.visit_name(type_binding.span, type_binding.ident.name); visitor.visit_ty(&*type_binding.ty); } @@ -477,7 +475,7 @@ pub fn walk_pat<'v, V: Visitor<'v>>(visitor: &mut V, pattern: &'v Pat) { visitor.visit_pat(&**subpattern) } PatIdent(_, ref pth1, ref optional_subpattern) => { - visitor.visit_ident(pth1.span, pth1.node); + visitor.visit_name(pth1.span, pth1.node.name); match *optional_subpattern { None => {} Some(ref subpattern) => visitor.visit_pat(&**subpattern), @@ -505,7 +503,7 @@ pub fn walk_pat<'v, V: Visitor<'v>>(visitor: &mut V, pattern: &'v Pat) { pub fn walk_foreign_item<'v, V: Visitor<'v>>(visitor: &mut V, foreign_item: &'v ForeignItem) { - visitor.visit_ident(foreign_item.span, foreign_item.ident); + visitor.visit_name(foreign_item.span, foreign_item.ident.name); match foreign_item.node { ForeignItemFn(ref function_declaration, ref generics) => { @@ -541,7 +539,7 @@ pub fn walk_ty_param_bound<'v, V: Visitor<'v>>(visitor: &mut V, pub fn walk_generics<'v, V: Visitor<'v>>(visitor: &mut V, generics: &'v Generics) { for param in generics.ty_params.iter() { - visitor.visit_ident(param.span, param.ident); + visitor.visit_name(param.span, param.ident.name); walk_ty_param_bounds_helper(visitor, ¶m.bounds); walk_ty_opt(visitor, ¶m.default); } @@ -613,7 +611,7 @@ pub fn walk_fn<'v, V: Visitor<'v>>(visitor: &mut V, } pub fn walk_trait_item<'v, V: Visitor<'v>>(visitor: &mut V, trait_item: &'v TraitItem) { - visitor.visit_ident(trait_item.span, trait_item.ident); + visitor.visit_name(trait_item.span, trait_item.ident.name); for attr in &trait_item.attrs { visitor.visit_attribute(attr); } @@ -630,7 +628,7 @@ pub fn walk_trait_item<'v, V: Visitor<'v>>(visitor: &mut V, trait_item: &'v Trai walk_fn_decl(visitor, &sig.decl); } MethodTraitItem(ref sig, Some(ref body)) => { - visitor.visit_fn(FnKind::Method(trait_item.ident, sig, None), &sig.decl, + visitor.visit_fn(FnKind::Method(trait_item.ident.name, sig, None), &sig.decl, body, trait_item.span, trait_item.id); } TypeTraitItem(ref bounds, ref default) => { @@ -641,7 +639,7 @@ pub fn walk_trait_item<'v, V: Visitor<'v>>(visitor: &mut V, trait_item: &'v Trai } pub fn walk_impl_item<'v, V: Visitor<'v>>(visitor: &mut V, impl_item: &'v ImplItem) { - visitor.visit_ident(impl_item.span, impl_item.ident); + visitor.visit_name(impl_item.span, impl_item.ident.name); for attr in &impl_item.attrs { visitor.visit_attribute(attr); } @@ -651,8 +649,8 @@ pub fn walk_impl_item<'v, V: Visitor<'v>>(visitor: &mut V, impl_item: &'v ImplIt visitor.visit_expr(expr); } MethodImplItem(ref sig, ref body) => { - visitor.visit_fn(FnKind::Method(impl_item.ident, sig, Some(impl_item.vis)), &sig.decl, - body, impl_item.span, impl_item.id); + visitor.visit_fn(FnKind::Method(impl_item.ident.name, sig, Some(impl_item.vis)), + &sig.decl, body, impl_item.span, impl_item.id); } TypeImplItem(ref ty) => { visitor.visit_ty(ty); @@ -670,7 +668,7 @@ pub fn walk_struct_def<'v, V: Visitor<'v>>(visitor: &mut V, pub fn walk_struct_field<'v, V: Visitor<'v>>(visitor: &mut V, struct_field: &'v StructField) { if let NamedField(name, _) = struct_field.node.kind { - visitor.visit_ident(struct_field.span, name); + visitor.visit_name(struct_field.span, name.name); } visitor.visit_ty(&*struct_field.node.ty); diff --git a/src/librustc_lint/builtin.rs b/src/librustc_lint/builtin.rs index b011658d942a1..713d7fba7caef 100644 --- a/src/librustc_lint/builtin.rs +++ b/src/librustc_lint/builtin.rs @@ -1081,12 +1081,12 @@ impl LateLintPass for MissingDoc { } fn check_struct_def(&mut self, _: &LateContext, _: &hir::StructDef, - _: ast::Ident, _: &hir::Generics, id: ast::NodeId) { + _: ast::Name, _: &hir::Generics, id: ast::NodeId) { self.struct_def_stack.push(id); } fn check_struct_def_post(&mut self, _: &LateContext, _: &hir::StructDef, - _: ast::Ident, _: &hir::Generics, id: ast::NodeId) { + _: ast::Name, _: &hir::Generics, id: ast::NodeId) { let popped = self.struct_def_stack.pop().expect("empty struct_def_stack"); assert!(popped == id); } diff --git a/src/librustc_privacy/lib.rs b/src/librustc_privacy/lib.rs index fb43d75c347e3..58a21340d3b8c 100644 --- a/src/librustc_privacy/lib.rs +++ b/src/librustc_privacy/lib.rs @@ -128,7 +128,7 @@ impl<'v> Visitor<'v> for ParentVisitor { visit::walk_impl_item(self, ii); } - fn visit_struct_def(&mut self, s: &hir::StructDef, _: ast::Ident, + fn visit_struct_def(&mut self, s: &hir::StructDef, _: ast::Name, _: &'v hir::Generics, n: ast::NodeId) { // Struct constructors are parented to their struct definitions because // they essentially are the struct definitions. diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs index 6159ba5b79e0e..0e585386d2e68 100644 --- a/src/librustc_resolve/lib.rs +++ b/src/librustc_resolve/lib.rs @@ -509,7 +509,7 @@ impl<'a, 'v, 'tcx> Visitor<'v> for Resolver<'a, 'tcx> { } hir::StructVariantKind(ref struct_definition) => { self.visit_struct_def(&**struct_definition, - variant.node.name, + variant.node.name.name, generics, variant.node.id); }