Skip to content

Commit fc91ea1

Browse files
committed
rustc: Move impl_defaultness to a query
1 parent fdd6a3e commit fc91ea1

File tree

5 files changed

+4
-14
lines changed

5 files changed

+4
-14
lines changed

src/librustc/dep_graph/dep_node.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,7 @@ define_dep_nodes!( <'tcx>
530530
[] IsProfilerRuntime(CrateNum),
531531
[] GetPanicStrategy(CrateNum),
532532
[] IsNoBuiltins(CrateNum),
533+
[] ImplDefaultness(DefId),
533534
);
534535

535536
trait DepNodeParams<'a, 'gcx: 'tcx + 'a, 'tcx: 'a> : fmt::Debug {

src/librustc/middle/cstore.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -236,9 +236,6 @@ pub trait CrateStore {
236236
// trait info
237237
fn implementations_of_trait(&self, filter: Option<DefId>) -> Vec<DefId>;
238238

239-
// impl info
240-
fn impl_defaultness(&self, def: DefId) -> hir::Defaultness;
241-
242239
// trait/impl-item info
243240
fn associated_item_cloned(&self, def: DefId) -> ty::AssociatedItem;
244241

@@ -342,9 +339,6 @@ impl CrateStore for DummyCrateStore {
342339
// trait info
343340
fn implementations_of_trait(&self, filter: Option<DefId>) -> Vec<DefId> { vec![] }
344341

345-
// impl info
346-
fn impl_defaultness(&self, def: DefId) -> hir::Defaultness { bug!("impl_defaultness") }
347-
348342
// trait/impl-item info
349343
fn associated_item_cloned(&self, def: DefId) -> ty::AssociatedItem
350344
{ bug!("associated_item_cloned") }

src/librustc/traits/util.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -538,8 +538,6 @@ impl<'a, 'gcx, 'tcx> TyCtxt<'a, 'gcx, 'tcx> {
538538
}
539539
None => {
540540
self.global_tcx()
541-
.sess
542-
.cstore
543541
.impl_defaultness(node_item_def_id)
544542
.is_default()
545543
}

src/librustc/ty/maps.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1130,6 +1130,8 @@ define_maps! { <'tcx>
11301130
[] extern_crate: ExternCrate(DefId) -> Rc<Option<ExternCrate>>,
11311131

11321132
[] lint_levels: lint_levels_node(CrateNum) -> Rc<lint::LintLevelMap>,
1133+
1134+
[] impl_defaultness: ImplDefaultness(DefId) -> hir::Defaultness,
11331135
}
11341136

11351137
fn type_param_predicates<'tcx>((item_id, param_id): (DefId, DefId)) -> DepConstructor<'tcx> {

src/librustc_metadata/cstore_impl.rs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ provide! { <'tcx> tcx, def_id, cdata,
159159
panic_strategy => { cdata.panic_strategy(&tcx.dep_graph) }
160160
extern_crate => { Rc::new(cdata.extern_crate.get()) }
161161
is_no_builtins => { cdata.is_no_builtins(&tcx.dep_graph) }
162+
impl_defaultness => { cdata.get_impl_defaultness(def_id.index) }
162163
}
163164

164165
pub fn provide_local<'tcx>(providers: &mut Providers<'tcx>) {
@@ -208,12 +209,6 @@ impl CrateStore for cstore::CStore {
208209
result
209210
}
210211

211-
fn impl_defaultness(&self, def: DefId) -> hir::Defaultness
212-
{
213-
self.read_dep_node(def);
214-
self.get_crate_data(def.krate).get_impl_defaultness(def.index)
215-
}
216-
217212
fn associated_item_cloned(&self, def: DefId) -> ty::AssociatedItem
218213
{
219214
self.read_dep_node(def);

0 commit comments

Comments
 (0)