diff --git a/Cargo.lock b/Cargo.lock index 45a0211ffb8..6fcac61775e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -284,9 +284,9 @@ checksum = "28b9d6de7f49e22cf97ad17fc4036ece69300032f45f78f30b4a4482cdc3f4a6" [[package]] name = "countme" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f8038ded86523aa26c1321dfe8bb432707d0a3e2608f9d0108803727546e089" +checksum = "1aa2b26822354da8572983762d79a7ba55981b3fbbc612164a0dbbd0213df7fe" dependencies = [ "dashmap", "once_cell", diff --git a/crates/hir_def/src/body.rs b/crates/hir_def/src/body.rs index d0c84ab0b59..b9ecf22fa5f 100644 --- a/crates/hir_def/src/body.rs +++ b/crates/hir_def/src/body.rs @@ -17,6 +17,7 @@ use hir_expand::{ HirFileId, InFile, MacroDefId, }; use la_arena::{Arena, ArenaMap}; +use profile::Count; use rustc_hash::FxHashMap; use syntax::{ast, AstNode, AstPtr}; use test_utils::mark; @@ -237,6 +238,7 @@ pub struct Body { /// The `ExprId` of the actual body expression. pub body_expr: ExprId, pub item_scope: ItemScope, + _c: Count<Self>, } pub type ExprPtr = AstPtr<ast::Expr>; diff --git a/crates/hir_def/src/body/lower.rs b/crates/hir_def/src/body/lower.rs index 4ce5e5b72c3..209965fcaf7 100644 --- a/crates/hir_def/src/body/lower.rs +++ b/crates/hir_def/src/body/lower.rs @@ -10,6 +10,7 @@ use hir_expand::{ ExpandError, HirFileId, MacroDefId, MacroDefKind, }; use la_arena::Arena; +use profile::Count; use rustc_hash::FxHashMap; use syntax::{ ast::{ @@ -77,6 +78,7 @@ pub(super) fn lower( params: Vec::new(), body_expr: dummy_expr_id(), item_scope: Default::default(), + _c: Count::new(), }, item_trees: { let mut map = FxHashMap::default(); diff --git a/crates/hir_expand/src/ast_id_map.rs b/crates/hir_expand/src/ast_id_map.rs index 0991fffd858..16cf299076f 100644 --- a/crates/hir_expand/src/ast_id_map.rs +++ b/crates/hir_expand/src/ast_id_map.rs @@ -13,6 +13,7 @@ use std::{ }; use la_arena::{Arena, Idx}; +use profile::Count; use syntax::{ast, match_ast, AstNode, AstPtr, SyntaxNode, SyntaxNodePtr}; /// `AstId` points to an AST node in a specific file. @@ -62,12 +63,13 @@ type ErasedFileAstId = Idx<SyntaxNodePtr>; #[derive(Debug, PartialEq, Eq, Default)] pub struct AstIdMap { arena: Arena<SyntaxNodePtr>, + _c: Count<Self>, } impl AstIdMap { pub(crate) fn from_source(node: &SyntaxNode) -> AstIdMap { assert!(node.parent().is_none()); - let mut res = AstIdMap { arena: Arena::default() }; + let mut res = AstIdMap::default(); // By walking the tree in breadth-first order we make sure that parents // get lower ids then children. That is, adding a new child does not // change parent's id. This means that, say, adding a new function to a diff --git a/crates/profile/Cargo.toml b/crates/profile/Cargo.toml index 4dd9acc98fb..486f9c16417 100644 --- a/crates/profile/Cargo.toml +++ b/crates/profile/Cargo.toml @@ -14,7 +14,7 @@ once_cell = "1.3.1" cfg-if = "1" libc = "0.2.73" la-arena = { version = "0.2.0", path = "../../lib/arena" } -countme = { version = "2.0.0", features = ["enable"] } +countme = { version = "2.0.1", features = ["enable"] } jemalloc-ctl = { version = "0.3.3", optional = true } [target.'cfg(target_os = "linux")'.dependencies]