rustc: Classify two more CrateStore methods untracked
These are only called pre-TyCtxt (e.g. lowering/resolve), so make it explicit in the name that they're untracked and therefore unsuitable to called elsewhere.
This commit is contained in:
parent
88399a985a
commit
0b7e0aaba5
5 changed files with 9 additions and 13 deletions
|
|
@ -787,7 +787,7 @@ impl<'a> LoweringContext<'a> {
|
|||
return n;
|
||||
}
|
||||
assert!(!def_id.is_local());
|
||||
let n = self.sess.cstore.item_generics_cloned(def_id).regions.len();
|
||||
let n = self.sess.cstore.item_generics_cloned_untracked(def_id).regions.len();
|
||||
self.type_def_lifetime_params.insert(def_id, n);
|
||||
n
|
||||
});
|
||||
|
|
|
|||
|
|
@ -234,12 +234,6 @@ pub trait CrateStore {
|
|||
// access to the metadata loader
|
||||
fn metadata_loader(&self) -> &MetadataLoader;
|
||||
|
||||
// item info
|
||||
fn item_generics_cloned(&self, def: DefId) -> ty::Generics;
|
||||
|
||||
// trait/impl-item info
|
||||
fn associated_item_cloned(&self, def: DefId) -> ty::AssociatedItem;
|
||||
|
||||
// resolve
|
||||
fn def_key(&self, def: DefId) -> DefKey;
|
||||
fn def_path(&self, def: DefId) -> hir_map::DefPath;
|
||||
|
|
@ -255,6 +249,8 @@ pub trait CrateStore {
|
|||
fn item_children_untracked(&self, did: DefId, sess: &Session) -> Vec<def::Export>;
|
||||
fn load_macro_untracked(&self, did: DefId, sess: &Session) -> LoadedMacro;
|
||||
fn extern_mod_stmt_cnum_untracked(&self, emod_id: ast::NodeId) -> Option<CrateNum>;
|
||||
fn item_generics_cloned_untracked(&self, def: DefId) -> ty::Generics;
|
||||
fn associated_item_cloned_untracked(&self, def: DefId) -> ty::AssociatedItem;
|
||||
|
||||
// This is basically a 1-based range of ints, which is a little
|
||||
// silly - I may fix that.
|
||||
|
|
@ -308,11 +304,11 @@ impl CrateStore for DummyCrateStore {
|
|||
{ bug!("crate_data_as_rc_any") }
|
||||
// item info
|
||||
fn visibility_untracked(&self, def: DefId) -> ty::Visibility { bug!("visibility") }
|
||||
fn item_generics_cloned(&self, def: DefId) -> ty::Generics
|
||||
fn item_generics_cloned_untracked(&self, def: DefId) -> ty::Generics
|
||||
{ bug!("item_generics_cloned") }
|
||||
|
||||
// trait/impl-item info
|
||||
fn associated_item_cloned(&self, def: DefId) -> ty::AssociatedItem
|
||||
fn associated_item_cloned_untracked(&self, def: DefId) -> ty::AssociatedItem
|
||||
{ bug!("associated_item_cloned") }
|
||||
|
||||
// crate metadata
|
||||
|
|
|
|||
|
|
@ -978,7 +978,7 @@ impl<'a, 'tcx> LifetimeContext<'a, 'tcx> {
|
|||
} else {
|
||||
let cstore = &self.sess.cstore;
|
||||
self.xcrate_object_lifetime_defaults.entry(def_id).or_insert_with(|| {
|
||||
cstore.item_generics_cloned(def_id).types.into_iter().map(|def| {
|
||||
cstore.item_generics_cloned_untracked(def_id).types.into_iter().map(|def| {
|
||||
def.object_lifetime_default
|
||||
}).collect()
|
||||
})
|
||||
|
|
|
|||
|
|
@ -350,12 +350,12 @@ impl CrateStore for cstore::CStore {
|
|||
self.get_crate_data(def.krate).get_visibility(def.index)
|
||||
}
|
||||
|
||||
fn item_generics_cloned(&self, def: DefId) -> ty::Generics {
|
||||
fn item_generics_cloned_untracked(&self, def: DefId) -> ty::Generics {
|
||||
self.read_dep_node(def);
|
||||
self.get_crate_data(def.krate).get_generics(def.index)
|
||||
}
|
||||
|
||||
fn associated_item_cloned(&self, def: DefId) -> ty::AssociatedItem
|
||||
fn associated_item_cloned_untracked(&self, def: DefId) -> ty::AssociatedItem
|
||||
{
|
||||
self.read_dep_node(def);
|
||||
self.get_crate_data(def.krate).get_associated_item(def.index)
|
||||
|
|
|
|||
|
|
@ -490,7 +490,7 @@ impl<'a> Resolver<'a> {
|
|||
self.define(module, child.ident, ns,
|
||||
(child.def, ty::Visibility::Public, DUMMY_SP, expansion));
|
||||
|
||||
if self.session.cstore.associated_item_cloned(child.def.def_id())
|
||||
if self.session.cstore.associated_item_cloned_untracked(child.def.def_id())
|
||||
.method_has_self_argument {
|
||||
self.has_self.insert(child.def.def_id());
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue