Skip to content

Commit d70deac

Browse files
committed
Intern OpaqueTy on ItemKind::OpaqueTy
1 parent 72a3258 commit d70deac

File tree

9 files changed

+9
-9
lines changed

9 files changed

+9
-9
lines changed

compiler/rustc_ast_lowering/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1658,7 +1658,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
16581658
span: Span,
16591659
opaque_ty_span: Span,
16601660
) -> hir::OwnerNode<'hir> {
1661-
let opaque_ty_item_kind = hir::ItemKind::OpaqueTy(opaque_ty_item);
1661+
let opaque_ty_item_kind = hir::ItemKind::OpaqueTy(self.arena.alloc(opaque_ty_item));
16621662
// Generate an `type Foo = impl Trait;` declaration.
16631663
trace!("registering opaque type with id {:#?}", opaque_ty_id);
16641664
let opaque_ty_item = hir::Item {

compiler/rustc_hir/src/hir.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3315,7 +3315,7 @@ pub enum ItemKind<'hir> {
33153315
/// A type alias, e.g., `type Foo = Bar<u8>`.
33163316
TyAlias(&'hir Ty<'hir>, &'hir Generics<'hir>),
33173317
/// An opaque `impl Trait` type alias, e.g., `type Foo = impl Bar;`.
3318-
OpaqueTy(OpaqueTy<'hir>),
3318+
OpaqueTy(&'hir OpaqueTy<'hir>),
33193319
/// An enum definition, e.g., `enum Foo<A, B> {C<A>, D<B>}`.
33203320
Enum(EnumDef<'hir>, &'hir Generics<'hir>),
33213321
/// A struct definition, e.g., `struct Foo<A> {x: A}`.

compiler/rustc_hir/src/intravisit.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,7 @@ pub fn walk_item<'v, V: Visitor<'v>>(visitor: &mut V, item: &'v Item<'v>) {
502502
visitor.visit_ty(ty);
503503
visitor.visit_generics(generics)
504504
}
505-
ItemKind::OpaqueTy(OpaqueTy { ref generics, bounds, .. }) => {
505+
ItemKind::OpaqueTy(&OpaqueTy { generics, bounds, .. }) => {
506506
visitor.visit_id(item.hir_id());
507507
walk_generics(visitor, generics);
508508
walk_list!(visitor, visit_param_bound, bounds);

compiler/rustc_hir_analysis/src/astconv/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2809,7 +2809,7 @@ impl<'o, 'tcx> dyn AstConv<'tcx> + 'o {
28092809
let opaque_ty = tcx.hir().item(item_id);
28102810

28112811
match opaque_ty.kind {
2812-
hir::ItemKind::OpaqueTy(hir::OpaqueTy { origin, .. }) => {
2812+
hir::ItemKind::OpaqueTy(&hir::OpaqueTy { origin, .. }) => {
28132813
let local_def_id = item_id.owner_id.def_id;
28142814
// If this is an RPITIT and we are using the new RPITIT lowering scheme, we
28152815
// generate the def_id of an associated type for the trait and return as

compiler/rustc_hir_analysis/src/check/check.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ pub(super) fn check_opaque_for_inheriting_lifetimes(
299299
}
300300
}
301301

302-
if let ItemKind::OpaqueTy(hir::OpaqueTy {
302+
if let ItemKind::OpaqueTy(&hir::OpaqueTy {
303303
origin: hir::OpaqueTyOrigin::AsyncFn(..) | hir::OpaqueTyOrigin::FnReturn(..),
304304
in_trait,
305305
..

compiler/rustc_hir_analysis/src/collect/generics_of.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ pub(super) fn generics_of(tcx: TyCtxt<'_>, def_id: LocalDefId) -> ty::Generics {
144144
Some(tcx.typeck_root_def_id(def_id.to_def_id()))
145145
}
146146
Node::Item(item) => match item.kind {
147-
ItemKind::OpaqueTy(hir::OpaqueTy {
147+
ItemKind::OpaqueTy(&hir::OpaqueTy {
148148
origin:
149149
hir::OpaqueTyOrigin::FnReturn(fn_def_id) | hir::OpaqueTyOrigin::AsyncFn(fn_def_id),
150150
in_trait,

compiler/rustc_hir_analysis/src/collect/predicates_of.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -686,7 +686,7 @@ pub(super) fn type_param_predicates(
686686
ItemKind::Fn(.., generics, _)
687687
| ItemKind::Impl(&hir::Impl { generics, .. })
688688
| ItemKind::TyAlias(_, generics)
689-
| ItemKind::OpaqueTy(OpaqueTy {
689+
| ItemKind::OpaqueTy(&OpaqueTy {
690690
generics,
691691
origin: hir::OpaqueTyOrigin::TyAlias { .. },
692692
..

compiler/rustc_hir_analysis/src/collect/resolve_bound_vars.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,7 @@ impl<'a, 'tcx> Visitor<'tcx> for BoundVarContext<'a, 'tcx> {
556556
});
557557
}
558558
}
559-
hir::ItemKind::OpaqueTy(hir::OpaqueTy {
559+
hir::ItemKind::OpaqueTy(&hir::OpaqueTy {
560560
origin: hir::OpaqueTyOrigin::FnReturn(parent) | hir::OpaqueTyOrigin::AsyncFn(parent),
561561
generics,
562562
..

compiler/rustc_hir_analysis/src/collect/type_of.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -435,7 +435,7 @@ pub(super) fn type_of(tcx: TyCtxt<'_>, def_id: LocalDefId) -> ty::EarlyBinder<Ty
435435
..
436436
}) => opaque::find_opaque_ty_constraints_for_tait(tcx, def_id),
437437
// Opaque types desugared from `impl Trait`.
438-
ItemKind::OpaqueTy(OpaqueTy {
438+
ItemKind::OpaqueTy(&OpaqueTy {
439439
origin:
440440
hir::OpaqueTyOrigin::FnReturn(owner) | hir::OpaqueTyOrigin::AsyncFn(owner),
441441
in_trait,

0 commit comments

Comments
 (0)