Skip to content

Commit abf2e7a

Browse files
committed
Remove ast::{Impl,Trait}{Item,ItemKind}.
1 parent 35e9e09 commit abf2e7a

File tree

19 files changed

+123
-134
lines changed

19 files changed

+123
-134
lines changed

src/librustc/hir/lowering.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -477,11 +477,11 @@ impl<'a> LoweringContext<'a> {
477477
});
478478
}
479479

480-
fn visit_trait_item(&mut self, item: &'tcx TraitItem) {
480+
fn visit_trait_item(&mut self, item: &'tcx AssocItem) {
481481
self.lctx.allocate_hir_id_counter(item.id);
482482

483483
match item.kind {
484-
TraitItemKind::Method(_, None) => {
484+
AssocItemKind::Method(_, None) => {
485485
// Ignore patterns in trait methods without bodies
486486
self.with_hir_id_owner(None, |this| {
487487
visit::walk_trait_item(this, item)
@@ -493,7 +493,7 @@ impl<'a> LoweringContext<'a> {
493493
}
494494
}
495495

496-
fn visit_impl_item(&mut self, item: &'tcx ImplItem) {
496+
fn visit_impl_item(&mut self, item: &'tcx AssocItem) {
497497
self.lctx.allocate_hir_id_counter(item.id);
498498
self.with_hir_id_owner(Some(item.id), |this| {
499499
visit::walk_impl_item(this, item);

src/librustc/hir/lowering/item.rs

+23-23
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ impl<'tcx, 'interner> Visitor<'tcx> for ItemLowerer<'tcx, 'interner> {
8686
}
8787
}
8888

89-
fn visit_trait_item(&mut self, item: &'tcx TraitItem) {
89+
fn visit_trait_item(&mut self, item: &'tcx AssocItem) {
9090
self.lctx.with_hir_id_owner(item.id, |lctx| {
9191
let hir_item = lctx.lower_trait_item(item);
9292
let id = hir::TraitItemId { hir_id: hir_item.hir_id };
@@ -97,7 +97,7 @@ impl<'tcx, 'interner> Visitor<'tcx> for ItemLowerer<'tcx, 'interner> {
9797
visit::walk_assoc_item(self, item);
9898
}
9999

100-
fn visit_impl_item(&mut self, item: &'tcx ImplItem) {
100+
fn visit_impl_item(&mut self, item: &'tcx AssocItem) {
101101
self.lctx.with_hir_id_owner(item.id, |lctx| {
102102
let hir_item = lctx.lower_impl_item(item);
103103
let id = hir::ImplItemId { hir_id: hir_item.hir_id };
@@ -813,11 +813,11 @@ impl LoweringContext<'_> {
813813
}
814814
}
815815

816-
fn lower_trait_item(&mut self, i: &TraitItem) -> hir::TraitItem {
816+
fn lower_trait_item(&mut self, i: &AssocItem) -> hir::TraitItem {
817817
let trait_item_def_id = self.resolver.definitions().local_def_id(i.id);
818818

819819
let (generics, kind) = match i.kind {
820-
TraitItemKind::Const(ref ty, ref default) => (
820+
AssocItemKind::Const(ref ty, ref default) => (
821821
self.lower_generics(&i.generics, ImplTraitContext::disallowed()),
822822
hir::TraitItemKind::Const(
823823
self.lower_ty(ty, ImplTraitContext::disallowed()),
@@ -826,7 +826,7 @@ impl LoweringContext<'_> {
826826
.map(|x| self.lower_const_body(i.span, Some(x))),
827827
),
828828
),
829-
TraitItemKind::Method(ref sig, None) => {
829+
AssocItemKind::Method(ref sig, None) => {
830830
let names = self.lower_fn_params_to_names(&sig.decl);
831831
let (generics, sig) = self.lower_method_sig(
832832
&i.generics,
@@ -837,7 +837,7 @@ impl LoweringContext<'_> {
837837
);
838838
(generics, hir::TraitItemKind::Method(sig, hir::TraitMethod::Required(names)))
839839
}
840-
TraitItemKind::Method(ref sig, Some(ref body)) => {
840+
AssocItemKind::Method(ref sig, Some(ref body)) => {
841841
let body_id = self.lower_fn_body_block(i.span, &sig.decl, Some(body));
842842
let (generics, sig) = self.lower_method_sig(
843843
&i.generics,
@@ -848,7 +848,7 @@ impl LoweringContext<'_> {
848848
);
849849
(generics, hir::TraitItemKind::Method(sig, hir::TraitMethod::Provided(body_id)))
850850
}
851-
TraitItemKind::TyAlias(ref bounds, ref default) => {
851+
AssocItemKind::TyAlias(ref bounds, ref default) => {
852852
let generics = self.lower_generics(&i.generics, ImplTraitContext::disallowed());
853853
let kind = hir::TraitItemKind::Type(
854854
self.lower_param_bounds(bounds, ImplTraitContext::disallowed()),
@@ -859,7 +859,7 @@ impl LoweringContext<'_> {
859859

860860
(generics, kind)
861861
},
862-
TraitItemKind::Macro(..) => bug!("macro item shouldn't exist at this point"),
862+
AssocItemKind::Macro(..) => bug!("macro item shouldn't exist at this point"),
863863
};
864864

865865
hir::TraitItem {
@@ -872,21 +872,21 @@ impl LoweringContext<'_> {
872872
}
873873
}
874874

875-
fn lower_trait_item_ref(&mut self, i: &TraitItem) -> hir::TraitItemRef {
875+
fn lower_trait_item_ref(&mut self, i: &AssocItem) -> hir::TraitItemRef {
876876
let (kind, has_default) = match i.kind {
877-
TraitItemKind::Const(_, ref default) => {
877+
AssocItemKind::Const(_, ref default) => {
878878
(hir::AssocItemKind::Const, default.is_some())
879879
}
880-
TraitItemKind::TyAlias(_, ref default) => {
880+
AssocItemKind::TyAlias(_, ref default) => {
881881
(hir::AssocItemKind::Type, default.is_some())
882882
}
883-
TraitItemKind::Method(ref sig, ref default) => (
883+
AssocItemKind::Method(ref sig, ref default) => (
884884
hir::AssocItemKind::Method {
885885
has_self: sig.decl.has_self(),
886886
},
887887
default.is_some(),
888888
),
889-
TraitItemKind::Macro(..) => unimplemented!(),
889+
AssocItemKind::Macro(..) => unimplemented!(),
890890
};
891891
hir::TraitItemRef {
892892
id: hir::TraitItemId { hir_id: self.lower_node_id(i.id) },
@@ -902,18 +902,18 @@ impl LoweringContext<'_> {
902902
self.expr(span, hir::ExprKind::Err, ThinVec::new())
903903
}
904904

905-
fn lower_impl_item(&mut self, i: &ImplItem) -> hir::ImplItem {
905+
fn lower_impl_item(&mut self, i: &AssocItem) -> hir::ImplItem {
906906
let impl_item_def_id = self.resolver.definitions().local_def_id(i.id);
907907

908908
let (generics, kind) = match i.kind {
909-
ImplItemKind::Const(ref ty, ref expr) => (
909+
AssocItemKind::Const(ref ty, ref expr) => (
910910
self.lower_generics(&i.generics, ImplTraitContext::disallowed()),
911911
hir::ImplItemKind::Const(
912912
self.lower_ty(ty, ImplTraitContext::disallowed()),
913913
self.lower_const_body(i.span, expr.as_deref()),
914914
),
915915
),
916-
ImplItemKind::Method(ref sig, ref body) => {
916+
AssocItemKind::Method(ref sig, ref body) => {
917917
self.current_item = Some(i.span);
918918
let body_id = self.lower_maybe_async_body(
919919
i.span,
@@ -932,7 +932,7 @@ impl LoweringContext<'_> {
932932

933933
(generics, hir::ImplItemKind::Method(sig, body_id))
934934
}
935-
ImplItemKind::TyAlias(_, ref ty) => {
935+
AssocItemKind::TyAlias(_, ref ty) => {
936936
let generics = self.lower_generics(&i.generics, ImplTraitContext::disallowed());
937937
let kind = match ty {
938938
None => {
@@ -951,7 +951,7 @@ impl LoweringContext<'_> {
951951
};
952952
(generics, kind)
953953
},
954-
ImplItemKind::Macro(..) => bug!("`TyMac` should have been expanded by now"),
954+
AssocItemKind::Macro(..) => bug!("`TyMac` should have been expanded by now"),
955955
};
956956

957957
hir::ImplItem {
@@ -968,26 +968,26 @@ impl LoweringContext<'_> {
968968
// [1] since `default impl` is not yet implemented, this is always true in impls
969969
}
970970

971-
fn lower_impl_item_ref(&mut self, i: &ImplItem) -> hir::ImplItemRef {
971+
fn lower_impl_item_ref(&mut self, i: &AssocItem) -> hir::ImplItemRef {
972972
hir::ImplItemRef {
973973
id: hir::ImplItemId { hir_id: self.lower_node_id(i.id) },
974974
ident: i.ident,
975975
span: i.span,
976976
vis: self.lower_visibility(&i.vis, Some(i.id)),
977977
defaultness: self.lower_defaultness(i.defaultness, true /* [1] */),
978978
kind: match &i.kind {
979-
ImplItemKind::Const(..) => hir::AssocItemKind::Const,
980-
ImplItemKind::TyAlias(_, ty) => match ty
979+
AssocItemKind::Const(..) => hir::AssocItemKind::Const,
980+
AssocItemKind::TyAlias(_, ty) => match ty
981981
.as_deref()
982982
.and_then(|ty| ty.kind.opaque_top_hack())
983983
{
984984
None => hir::AssocItemKind::Type,
985985
Some(_) => hir::AssocItemKind::OpaqueTy,
986986
},
987-
ImplItemKind::Method(sig, _) => hir::AssocItemKind::Method {
987+
AssocItemKind::Method(sig, _) => hir::AssocItemKind::Method {
988988
has_self: sig.decl.has_self(),
989989
},
990-
ImplItemKind::Macro(..) => unimplemented!(),
990+
AssocItemKind::Macro(..) => unimplemented!(),
991991
},
992992
}
993993

src/librustc/lint/context.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1249,15 +1249,15 @@ impl<'a, T: EarlyLintPass> ast_visit::Visitor<'a> for EarlyContextAndPass<'a, T>
12491249
ast_visit::walk_poly_trait_ref(self, t, m);
12501250
}
12511251

1252-
fn visit_trait_item(&mut self, trait_item: &'a ast::TraitItem) {
1252+
fn visit_trait_item(&mut self, trait_item: &'a ast::AssocItem) {
12531253
self.with_lint_attrs(trait_item.id, &trait_item.attrs, |cx| {
12541254
run_early_pass!(cx, check_trait_item, trait_item);
12551255
ast_visit::walk_trait_item(cx, trait_item);
12561256
run_early_pass!(cx, check_trait_item_post, trait_item);
12571257
});
12581258
}
12591259

1260-
fn visit_impl_item(&mut self, impl_item: &'a ast::ImplItem) {
1260+
fn visit_impl_item(&mut self, impl_item: &'a ast::AssocItem) {
12611261
self.with_lint_attrs(impl_item.id, &impl_item.attrs, |cx| {
12621262
run_early_pass!(cx, check_impl_item, impl_item);
12631263
ast_visit::walk_impl_item(cx, impl_item);

src/librustc/lint/mod.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -258,10 +258,10 @@ macro_rules! early_lint_methods {
258258
c: Span,
259259
d: ast::NodeId
260260
);
261-
fn check_trait_item(a: &ast::TraitItem);
262-
fn check_trait_item_post(a: &ast::TraitItem);
263-
fn check_impl_item(a: &ast::ImplItem);
264-
fn check_impl_item_post(a: &ast::ImplItem);
261+
fn check_trait_item(a: &ast::AssocItem);
262+
fn check_trait_item_post(a: &ast::AssocItem);
263+
fn check_impl_item(a: &ast::AssocItem);
264+
fn check_impl_item_post(a: &ast::AssocItem);
265265
fn check_struct_def(a: &ast::VariantData);
266266
fn check_struct_def_post(a: &ast::VariantData);
267267
fn check_struct_field(a: &ast::StructField);

src/librustc_interface/util.rs

+5-10
Original file line numberDiff line numberDiff line change
@@ -776,22 +776,17 @@ impl<'a> MutVisitor for ReplaceBodyWithLoop<'a, '_> {
776776
self.run(is_const, |s| noop_visit_item_kind(i, s))
777777
}
778778

779-
fn flat_map_trait_item(&mut self, i: ast::TraitItem) -> SmallVec<[ast::TraitItem; 1]> {
779+
fn flat_map_trait_item(&mut self, i: ast::AssocItem) -> SmallVec<[ast::AssocItem; 1]> {
780780
let is_const = match i.kind {
781-
ast::TraitItemKind::Const(..) => true,
782-
ast::TraitItemKind::Method(ref sig, _) => Self::is_sig_const(sig),
781+
ast::AssocItemKind::Const(..) => true,
782+
ast::AssocItemKind::Method(ref sig, _) => Self::is_sig_const(sig),
783783
_ => false,
784784
};
785785
self.run(is_const, |s| noop_flat_map_assoc_item(i, s))
786786
}
787787

788-
fn flat_map_impl_item(&mut self, i: ast::ImplItem) -> SmallVec<[ast::ImplItem; 1]> {
789-
let is_const = match i.kind {
790-
ast::ImplItemKind::Const(..) => true,
791-
ast::ImplItemKind::Method(ref sig, _) => Self::is_sig_const(sig),
792-
_ => false,
793-
};
794-
self.run(is_const, |s| noop_flat_map_assoc_item(i, s))
788+
fn flat_map_impl_item(&mut self, i: ast::AssocItem) -> SmallVec<[ast::AssocItem; 1]> {
789+
self.flat_map_trait_item(i)
795790
}
796791

797792
fn visit_anon_const(&mut self, c: &mut ast::AnonConst) {

src/librustc_lint/builtin.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -268,8 +268,8 @@ impl EarlyLintPass for UnsafeCode {
268268
}
269269
}
270270

271-
fn check_trait_item(&mut self, cx: &EarlyContext<'_>, item: &ast::TraitItem) {
272-
if let ast::TraitItemKind::Method(ref sig, None) = item.kind {
271+
fn check_trait_item(&mut self, cx: &EarlyContext<'_>, item: &ast::AssocItem) {
272+
if let ast::AssocItemKind::Method(ref sig, None) = item.kind {
273273
if sig.header.unsafety == ast::Unsafety::Unsafe {
274274
self.report_unsafe(cx, item.span, "declaration of an `unsafe` method")
275275
}
@@ -615,9 +615,9 @@ declare_lint_pass!(
615615
);
616616

617617
impl EarlyLintPass for AnonymousParameters {
618-
fn check_trait_item(&mut self, cx: &EarlyContext<'_>, it: &ast::TraitItem) {
618+
fn check_trait_item(&mut self, cx: &EarlyContext<'_>, it: &ast::AssocItem) {
619619
match it.kind {
620-
ast::TraitItemKind::Method(ref sig, _) => {
620+
ast::AssocItemKind::Method(ref sig, _) => {
621621
for arg in sig.decl.inputs.iter() {
622622
match arg.pat.kind {
623623
ast::PatKind::Ident(_, ident, None) => {

src/librustc_passes/ast_validation.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -544,7 +544,7 @@ impl<'a> Visitor<'a> for AstValidator<'a> {
544544
}
545545
for impl_item in impl_items {
546546
self.invalid_visibility(&impl_item.vis, None);
547-
if let ImplItemKind::Method(ref sig, _) = impl_item.kind {
547+
if let AssocItemKind::Method(ref sig, _) = impl_item.kind {
548548
self.check_trait_fn_not_const(sig.header.constness);
549549
self.check_trait_fn_not_async(impl_item.span, sig.header.asyncness.node);
550550
}

src/librustc_passes/hir_stats.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -314,12 +314,12 @@ impl<'v> ast_visit::Visitor<'v> for StatCollector<'v> {
314314
ast_visit::walk_fn(self, fk, fd, s)
315315
}
316316

317-
fn visit_trait_item(&mut self, ti: &'v ast::TraitItem) {
317+
fn visit_trait_item(&mut self, ti: &'v ast::AssocItem) {
318318
self.record("TraitItem", Id::None, ti);
319319
ast_visit::walk_trait_item(self, ti)
320320
}
321321

322-
fn visit_impl_item(&mut self, ii: &'v ast::ImplItem) {
322+
fn visit_impl_item(&mut self, ii: &'v ast::AssocItem) {
323323
self.record("ImplItem", Id::None, ii);
324324
ast_visit::walk_impl_item(self, ii)
325325
}

src/librustc_resolve/build_reduced_graph.rs

+9-9
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ use errors::Applicability;
3030
use syntax::ast::{Name, Ident};
3131
use syntax::attr;
3232
use syntax::ast::{self, Block, ForeignItem, ForeignItemKind, Item, ItemKind, NodeId};
33-
use syntax::ast::{MetaItemKind, StmtKind, TraitItem, TraitItemKind};
33+
use syntax::ast::{MetaItemKind, StmtKind, AssocItem, AssocItemKind};
3434
use syntax::token::{self, Token};
3535
use syntax::span_err;
3636
use syntax::source_map::{respan, Spanned};
@@ -1164,26 +1164,26 @@ impl<'a, 'b> Visitor<'b> for BuildReducedGraphVisitor<'a, 'b> {
11641164
self.parent_scope.legacy = orig_current_legacy_scope;
11651165
}
11661166

1167-
fn visit_trait_item(&mut self, item: &'b TraitItem) {
1167+
fn visit_trait_item(&mut self, item: &'b AssocItem) {
11681168
let parent = self.parent_scope.module;
11691169

1170-
if let TraitItemKind::Macro(_) = item.kind {
1170+
if let AssocItemKind::Macro(_) = item.kind {
11711171
self.visit_invoc(item.id);
11721172
return
11731173
}
11741174

11751175
// Add the item to the trait info.
11761176
let item_def_id = self.r.definitions.local_def_id(item.id);
11771177
let (res, ns) = match item.kind {
1178-
TraitItemKind::Const(..) => (Res::Def(DefKind::AssocConst, item_def_id), ValueNS),
1179-
TraitItemKind::Method(ref sig, _) => {
1178+
AssocItemKind::Const(..) => (Res::Def(DefKind::AssocConst, item_def_id), ValueNS),
1179+
AssocItemKind::Method(ref sig, _) => {
11801180
if sig.decl.has_self() {
11811181
self.r.has_self.insert(item_def_id);
11821182
}
11831183
(Res::Def(DefKind::Method, item_def_id), ValueNS)
11841184
}
1185-
TraitItemKind::TyAlias(..) => (Res::Def(DefKind::AssocTy, item_def_id), TypeNS),
1186-
TraitItemKind::Macro(_) => bug!(), // handled above
1185+
AssocItemKind::TyAlias(..) => (Res::Def(DefKind::AssocTy, item_def_id), TypeNS),
1186+
AssocItemKind::Macro(_) => bug!(), // handled above
11871187
};
11881188

11891189
let vis = ty::Visibility::Public;
@@ -1193,8 +1193,8 @@ impl<'a, 'b> Visitor<'b> for BuildReducedGraphVisitor<'a, 'b> {
11931193
visit::walk_trait_item(self, item);
11941194
}
11951195

1196-
fn visit_impl_item(&mut self, item: &'b ast::ImplItem) {
1197-
if let ast::ImplItemKind::Macro(..) = item.kind {
1196+
fn visit_impl_item(&mut self, item: &'b ast::AssocItem) {
1197+
if let ast::AssocItemKind::Macro(..) = item.kind {
11981198
self.visit_invoc(item.id);
11991199
} else {
12001200
self.resolve_visibility(&item.vis);

src/librustc_resolve/def_collector.rs

+10-10
Original file line numberDiff line numberDiff line change
@@ -212,23 +212,23 @@ impl<'a> visit::Visitor<'a> for DefCollector<'a> {
212212
visit::walk_generic_param(self, param);
213213
}
214214

215-
fn visit_trait_item(&mut self, ti: &'a TraitItem) {
215+
fn visit_trait_item(&mut self, ti: &'a AssocItem) {
216216
let def_data = match ti.kind {
217-
TraitItemKind::Method(..) | TraitItemKind::Const(..) =>
217+
AssocItemKind::Method(..) | AssocItemKind::Const(..) =>
218218
DefPathData::ValueNs(ti.ident.name),
219-
TraitItemKind::TyAlias(..) => {
219+
AssocItemKind::TyAlias(..) => {
220220
DefPathData::TypeNs(ti.ident.name)
221221
},
222-
TraitItemKind::Macro(..) => return self.visit_macro_invoc(ti.id),
222+
AssocItemKind::Macro(..) => return self.visit_macro_invoc(ti.id),
223223
};
224224

225225
let def = self.create_def(ti.id, def_data, ti.span);
226226
self.with_parent(def, |this| visit::walk_trait_item(this, ti));
227227
}
228228

229-
fn visit_impl_item(&mut self, ii: &'a ImplItem) {
229+
fn visit_impl_item(&mut self, ii: &'a AssocItem) {
230230
let def_data = match ii.kind {
231-
ImplItemKind::Method(FnSig {
231+
AssocItemKind::Method(FnSig {
232232
ref header,
233233
ref decl,
234234
}, ref body) if header.asyncness.node.is_async() => {
@@ -242,10 +242,10 @@ impl<'a> visit::Visitor<'a> for DefCollector<'a> {
242242
body.as_deref(),
243243
)
244244
}
245-
ImplItemKind::Method(..) |
246-
ImplItemKind::Const(..) => DefPathData::ValueNs(ii.ident.name),
247-
ImplItemKind::TyAlias(..) => DefPathData::TypeNs(ii.ident.name),
248-
ImplItemKind::Macro(..) => return self.visit_macro_invoc(ii.id),
245+
AssocItemKind::Method(..) |
246+
AssocItemKind::Const(..) => DefPathData::ValueNs(ii.ident.name),
247+
AssocItemKind::TyAlias(..) => DefPathData::TypeNs(ii.ident.name),
248+
AssocItemKind::Macro(..) => return self.visit_macro_invoc(ii.id),
249249
};
250250

251251
let def = self.create_def(ii.id, def_data, ii.span);

0 commit comments

Comments
 (0)