Skip to content

Commit ed6c82f

Browse files
committed
Bubble up the TyCtxtFeed
1 parent bea5beb commit ed6c82f

File tree

2 files changed

+15
-12
lines changed

2 files changed

+15
-12
lines changed

compiler/rustc_resolve/src/def_collector.rs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,16 @@ impl<'a, 'b, 'tcx> DefCollector<'a, 'b, 'tcx> {
3838
"create_def(node_id={:?}, def_kind={:?}, parent_def={:?})",
3939
node_id, def_kind, parent_def
4040
);
41-
self.resolver.create_def(
42-
parent_def,
43-
node_id,
44-
name,
45-
def_kind,
46-
self.expansion.to_expn_id(),
47-
span.with_parent(None),
48-
)
41+
self.resolver
42+
.create_def(
43+
parent_def,
44+
node_id,
45+
name,
46+
def_kind,
47+
self.expansion.to_expn_id(),
48+
span.with_parent(None),
49+
)
50+
.def_id()
4951
}
5052

5153
fn with_parent<F: FnOnce(&mut Self)>(&mut self, parent_def: LocalDefId, f: F) {

compiler/rustc_resolve/src/lib.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ use rustc_middle::metadata::ModChild;
5252
use rustc_middle::middle::privacy::EffectiveVisibilities;
5353
use rustc_middle::query::Providers;
5454
use rustc_middle::span_bug;
55-
use rustc_middle::ty::{self, MainDefinition, RegisteredTools, TyCtxt};
55+
use rustc_middle::ty::{self, MainDefinition, RegisteredTools, TyCtxt, TyCtxtFeed};
5656
use rustc_middle::ty::{ResolverGlobalCtxt, ResolverOutputs};
5757
use rustc_query_system::ich::StableHashingContext;
5858
use rustc_session::lint::builtin::PRIVATE_MACRO_USE;
@@ -1251,7 +1251,7 @@ impl<'tcx> Resolver<'_, 'tcx> {
12511251
def_kind: DefKind,
12521252
expn_id: ExpnId,
12531253
span: Span,
1254-
) -> LocalDefId {
1254+
) -> TyCtxtFeed<'tcx, LocalDefId> {
12551255
let data = def_kind.def_path_data(name);
12561256
assert!(
12571257
!self.node_id_to_def_id.contains_key(&node_id),
@@ -1262,7 +1262,8 @@ impl<'tcx> Resolver<'_, 'tcx> {
12621262
);
12631263

12641264
// FIXME: remove `def_span` body, pass in the right spans here and call `tcx.at().create_def()`
1265-
let def_id = self.tcx.create_def(parent, name, def_kind).def_id();
1265+
let feed = self.tcx.create_def(parent, name, def_kind);
1266+
let def_id = feed.def_id();
12661267

12671268
// Create the definition.
12681269
if expn_id != ExpnId::root() {
@@ -1283,7 +1284,7 @@ impl<'tcx> Resolver<'_, 'tcx> {
12831284
}
12841285
assert_eq!(self.def_id_to_node_id.push(node_id), def_id);
12851286

1286-
def_id
1287+
feed
12871288
}
12881289

12891290
fn item_generics_num_lifetimes(&self, def_id: DefId) -> usize {

0 commit comments

Comments
 (0)