Restore the num_def_ids_untracked public function giving the total number of exported symbols for each crate
Restored underlying num_def_ids_method Update compiler/rustc_metadata/src/rmeta/decoder/cstore_impl.rs Changed name to fit with naming convention Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com> Update compiler/rustc_metadata/src/rmeta/decoder/cstore_impl.rs Replace regular doc with Rustdoc comment Co-authored-by: Joshua Nelson <jyn514@gmail.com> Clarifies third-party use of num_def_ids_untracked
This commit is contained in:
parent
c4f186f0ea
commit
d4ea9fa3fb
2 changed files with 11 additions and 0 deletions
|
@ -1931,6 +1931,10 @@ impl CrateMetadata {
|
|||
self.root.hash
|
||||
}
|
||||
|
||||
fn num_def_ids(&self) -> usize {
|
||||
self.root.tables.def_keys.size()
|
||||
}
|
||||
|
||||
fn local_def_id(&self, index: DefIndex) -> DefId {
|
||||
DefId { krate: self.cnum, index }
|
||||
}
|
||||
|
|
|
@ -454,6 +454,13 @@ impl CStore {
|
|||
self.get_crate_data(def_id.krate).module_expansion(def_id.index, sess)
|
||||
}
|
||||
|
||||
/// Only public-facing way to traverse all the definitions in a non-local crate.
|
||||
/// Critically useful for this third-party project: <https://github.com/hacspec/hacspec>.
|
||||
/// See <https://github.com/rust-lang/rust/pull/85889> for context.
|
||||
pub fn num_def_ids_untracked(&self, cnum: CrateNum) -> usize {
|
||||
self.get_crate_data(cnum).num_def_ids()
|
||||
}
|
||||
|
||||
pub fn item_attrs(&self, def_id: DefId, sess: &Session) -> Vec<ast::Attribute> {
|
||||
self.get_crate_data(def_id.krate).get_item_attrs(def_id.index, sess).collect()
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue