[] ExternModStmtCnum(DefId),
[input] GetLibFeatures,
[] DefinedLibFeatures(CrateNum),
- [input] GetLangItems,
+ [eval_always] GetLangItems,
[] DefinedLangItems(CrateNum),
[] MissingLangItems(CrateNum),
[] VisibleParentMap,
};
providers.get_lang_items = |tcx, id| {
assert_eq!(id, LOCAL_CRATE);
- // FIXME(#42293) Right now we insert a `with_ignore` node in the dep
- // graph here to ignore the fact that `get_lang_items` below depends on
- // the entire crate. For now this'll prevent false positives of
- // recompiling too much when anything changes.
- //
- // Once red/green incremental compilation lands we should be able to
- // remove this because while the crate changes often the lint level map
- // will change rarely.
- tcx.dep_graph.with_ignore(|| Lrc::new(middle::lang_items::collect(tcx)))
+ Lrc::new(middle::lang_items::collect(tcx))
};
providers.freevars = |tcx, id| tcx.gcx.freevars.get(&id).cloned();
providers.maybe_unused_trait_import = |tcx, id| {