Skip to content

Commit bdb682e

Browse files
committedMar 19, 2024
The AssocOpaqueTy HIR node is not actually needed to differentiate from other hir nodes that were fed
1 parent 196ff44 commit bdb682e

File tree

10 files changed

+21
-27
lines changed

10 files changed

+21
-27
lines changed
 

‎compiler/rustc_ast_lowering/src/index.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ pub(super) fn index_hir<'hir>(
5555
OwnerNode::TraitItem(item) => collector.visit_trait_item(item),
5656
OwnerNode::ImplItem(item) => collector.visit_impl_item(item),
5757
OwnerNode::ForeignItem(item) => collector.visit_foreign_item(item),
58-
OwnerNode::AssocOpaqueTy(..) => unreachable!(),
58+
OwnerNode::Synthetic => unreachable!(),
5959
};
6060

6161
for (local_id, node) in collector.nodes.iter_enumerated() {

‎compiler/rustc_hir/src/hir.rs

+9-13
Original file line numberDiff line numberDiff line change
@@ -2552,11 +2552,6 @@ pub struct OpaqueTy<'hir> {
25522552
pub in_trait: bool,
25532553
}
25542554

2555-
#[derive(Copy, Clone, Debug, HashStable_Generic)]
2556-
pub struct AssocOpaqueTy {
2557-
// Add some data if necessary
2558-
}
2559-
25602555
/// From whence the opaque type came.
25612556
#[derive(Copy, Clone, PartialEq, Eq, Debug, HashStable_Generic)]
25622557
pub enum OpaqueTyOrigin {
@@ -3367,7 +3362,7 @@ pub enum OwnerNode<'hir> {
33673362
TraitItem(&'hir TraitItem<'hir>),
33683363
ImplItem(&'hir ImplItem<'hir>),
33693364
Crate(&'hir Mod<'hir>),
3370-
AssocOpaqueTy(&'hir AssocOpaqueTy),
3365+
Synthetic,
33713366
}
33723367

33733368
impl<'hir> OwnerNode<'hir> {
@@ -3377,7 +3372,7 @@ impl<'hir> OwnerNode<'hir> {
33773372
| OwnerNode::ForeignItem(ForeignItem { ident, .. })
33783373
| OwnerNode::ImplItem(ImplItem { ident, .. })
33793374
| OwnerNode::TraitItem(TraitItem { ident, .. }) => Some(*ident),
3380-
OwnerNode::Crate(..) | OwnerNode::AssocOpaqueTy(..) => None,
3375+
OwnerNode::Crate(..) | OwnerNode::Synthetic => None,
33813376
}
33823377
}
33833378

@@ -3390,7 +3385,7 @@ impl<'hir> OwnerNode<'hir> {
33903385
| OwnerNode::ImplItem(ImplItem { span, .. })
33913386
| OwnerNode::TraitItem(TraitItem { span, .. }) => span,
33923387
OwnerNode::Crate(Mod { spans: ModSpans { inner_span, .. }, .. }) => inner_span,
3393-
OwnerNode::AssocOpaqueTy(..) => unreachable!(),
3388+
OwnerNode::Synthetic => unreachable!(),
33943389
}
33953390
}
33963391

@@ -3449,7 +3444,7 @@ impl<'hir> OwnerNode<'hir> {
34493444
| OwnerNode::ImplItem(ImplItem { owner_id, .. })
34503445
| OwnerNode::ForeignItem(ForeignItem { owner_id, .. }) => *owner_id,
34513446
OwnerNode::Crate(..) => crate::CRATE_HIR_ID.owner,
3452-
OwnerNode::AssocOpaqueTy(..) => unreachable!(),
3447+
OwnerNode::Synthetic => unreachable!(),
34533448
}
34543449
}
34553450

@@ -3493,7 +3488,7 @@ impl<'hir> Into<Node<'hir>> for OwnerNode<'hir> {
34933488
OwnerNode::ImplItem(n) => Node::ImplItem(n),
34943489
OwnerNode::TraitItem(n) => Node::TraitItem(n),
34953490
OwnerNode::Crate(n) => Node::Crate(n),
3496-
OwnerNode::AssocOpaqueTy(n) => Node::AssocOpaqueTy(n),
3491+
OwnerNode::Synthetic => Node::Synthetic,
34973492
}
34983493
}
34993494
}
@@ -3531,7 +3526,8 @@ pub enum Node<'hir> {
35313526
WhereBoundPredicate(&'hir WhereBoundPredicate<'hir>),
35323527
// FIXME: Merge into `Node::Infer`.
35333528
ArrayLenInfer(&'hir InferArg),
3534-
AssocOpaqueTy(&'hir AssocOpaqueTy),
3529+
// Created by query feeding
3530+
Synthetic,
35353531
// Span by reference to minimize `Node`'s size
35363532
#[allow(rustc::pass_by_value)]
35373533
Err(&'hir Span),
@@ -3582,7 +3578,7 @@ impl<'hir> Node<'hir> {
35823578
| Node::Infer(..)
35833579
| Node::WhereBoundPredicate(..)
35843580
| Node::ArrayLenInfer(..)
3585-
| Node::AssocOpaqueTy(..)
3581+
| Node::Synthetic
35863582
| Node::Err(..) => None,
35873583
}
35883584
}
@@ -3688,7 +3684,7 @@ impl<'hir> Node<'hir> {
36883684
Node::TraitItem(i) => Some(OwnerNode::TraitItem(i)),
36893685
Node::ImplItem(i) => Some(OwnerNode::ImplItem(i)),
36903686
Node::Crate(i) => Some(OwnerNode::Crate(i)),
3691-
Node::AssocOpaqueTy(i) => Some(OwnerNode::AssocOpaqueTy(i)),
3687+
Node::Synthetic => Some(OwnerNode::Synthetic),
36923688
_ => None,
36933689
}
36943690
}

‎compiler/rustc_hir_analysis/src/check/wfcheck.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ fn check_well_formed(tcx: TyCtxt<'_>, def_id: hir::OwnerId) -> Result<(), ErrorG
196196
hir::OwnerNode::TraitItem(item) => check_trait_item(tcx, item),
197197
hir::OwnerNode::ImplItem(item) => check_impl_item(tcx, item),
198198
hir::OwnerNode::ForeignItem(item) => check_foreign_item(tcx, item),
199-
hir::OwnerNode::AssocOpaqueTy(..) => unreachable!(),
199+
hir::OwnerNode::Synthetic => unreachable!(),
200200
};
201201

202202
if let Some(generics) = node.generics() {

‎compiler/rustc_hir_analysis/src/collect/resolve_bound_vars.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ fn resolve_bound_vars(tcx: TyCtxt<'_>, local_def_id: hir::OwnerId) -> ResolveBou
262262
visitor.visit_impl_item(item)
263263
}
264264
hir::OwnerNode::Crate(_) => {}
265-
hir::OwnerNode::AssocOpaqueTy(..) => unreachable!(),
265+
hir::OwnerNode::Synthetic => unreachable!(),
266266
}
267267

268268
let mut rl = ResolveBoundVars::default();

‎compiler/rustc_hir_pretty/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ impl<'a> State<'a> {
121121
self.print_bounds(":", pred.bounds);
122122
}
123123
Node::ArrayLenInfer(_) => self.word("_"),
124-
Node::AssocOpaqueTy(..) => unreachable!(),
124+
Node::Synthetic => unreachable!(),
125125
Node::Err(_) => self.word("/*ERROR*/"),
126126
}
127127
}

‎compiler/rustc_infer/src/infer/error_reporting/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2553,7 +2553,7 @@ impl<'tcx> TypeErrCtxt<'_, 'tcx> {
25532553
hir::OwnerNode::ImplItem(i) => visitor.visit_impl_item(i),
25542554
hir::OwnerNode::TraitItem(i) => visitor.visit_trait_item(i),
25552555
hir::OwnerNode::Crate(_) => bug!("OwnerNode::Crate doesn't not have generics"),
2556-
hir::OwnerNode::AssocOpaqueTy(..) => unreachable!(),
2556+
hir::OwnerNode::Synthetic => unreachable!(),
25572557
}
25582558

25592559
let ast_generics = self.tcx.hir().get_generics(lifetime_scope).unwrap();

‎compiler/rustc_lint/src/levels.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ fn shallow_lint_levels_on(tcx: TyCtxt<'_>, owner: hir::OwnerId) -> ShallowLintLe
191191
levels.add_id(hir::CRATE_HIR_ID);
192192
levels.visit_mod(mod_, mod_.spans.inner_span, hir::CRATE_HIR_ID)
193193
}
194-
hir::OwnerNode::AssocOpaqueTy(..) => unreachable!(),
194+
hir::OwnerNode::Synthetic => unreachable!(),
195195
},
196196
}
197197

‎compiler/rustc_middle/src/hir/map/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -954,7 +954,7 @@ impl<'hir> Map<'hir> {
954954
Node::Crate(item) => item.spans.inner_span,
955955
Node::WhereBoundPredicate(pred) => pred.span,
956956
Node::ArrayLenInfer(inf) => inf.span,
957-
Node::AssocOpaqueTy(..) => unreachable!(),
957+
Node::Synthetic => unreachable!(),
958958
Node::Err(span) => *span,
959959
}
960960
}
@@ -1219,7 +1219,7 @@ fn hir_id_to_string(map: Map<'_>, id: HirId) -> String {
12191219
Node::Crate(..) => String::from("(root_crate)"),
12201220
Node::WhereBoundPredicate(_) => node_str("where bound predicate"),
12211221
Node::ArrayLenInfer(_) => node_str("array len infer"),
1222-
Node::AssocOpaqueTy(..) => unreachable!(),
1222+
Node::Synthetic => unreachable!(),
12231223
Node::Err(_) => node_str("error"),
12241224
}
12251225
}

‎compiler/rustc_passes/src/reachable.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ impl<'tcx> ReachableContext<'tcx> {
247247
| Node::Field(_)
248248
| Node::Ty(_)
249249
| Node::Crate(_)
250-
| Node::AssocOpaqueTy(..) => {}
250+
| Node::Synthetic => {}
251251
_ => {
252252
bug!(
253253
"found unexpected node kind in worklist: {} ({:?})",

‎compiler/rustc_ty_utils/src/assoc.rs

+3-5
Original file line numberDiff line numberDiff line change
@@ -241,18 +241,16 @@ fn associated_types_for_impl_traits_in_associated_fn(
241241
fn feed_hir(feed: &TyCtxtFeed<'_, LocalDefId>) {
242242
feed.local_def_id_to_hir_id(HirId::make_owner(feed.def_id()));
243243

244-
let node = hir::OwnerNode::AssocOpaqueTy(&hir::AssocOpaqueTy {});
244+
let node = hir::OwnerNode::Synthetic;
245245
let bodies = Default::default();
246246
let attrs = hir::AttributeMap::EMPTY;
247247

248248
let (opt_hash_including_bodies, _) = feed.tcx.hash_owner_nodes(node, &bodies, &attrs.map);
249+
let node = node.into();
249250
feed.opt_hir_owner_nodes(Some(feed.tcx.arena.alloc(hir::OwnerNodes {
250251
opt_hash_including_bodies,
251252
nodes: IndexVec::from_elem_n(
252-
hir::ParentedNode {
253-
parent: hir::ItemLocalId::INVALID,
254-
node: hir::Node::AssocOpaqueTy(&hir::AssocOpaqueTy {}),
255-
},
253+
hir::ParentedNode { parent: hir::ItemLocalId::INVALID, node },
256254
1,
257255
),
258256
bodies,

0 commit comments

Comments
 (0)
Please sign in to comment.