Skip to content

Commit f4848a7

Browse files
committed
refactor: Lower type-refs before type inference
This refactors how we deal with items in hir-def lowering. - It now lowers all of them through an "ExpressionStore" (kind of a misnomer as this point) as their so called *Signatures. - We now uniformly lower type AST into TypeRefs before type inference. - Likewise, this moves macro expansion out of type inference, resulting in a single place where we do non-defmap macro expansion. - Finally, this PR removes a lot of information from ItemTree, making the DefMap a lot less likely to be recomputed and have it only depend on actual early name resolution related information (not 100% true, we still have ADT fields in there but thats a follow up removal).
1 parent fb0dd65 commit f4848a7

File tree

127 files changed

+6728
-7988
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+6728
-7988
lines changed

src/tools/rust-analyzer/crates/hir-def/src/attr.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@ impl Attrs {
7676
let _p = tracing::info_span!("fields_attrs_query").entered();
7777
// FIXME: There should be some proper form of mapping between item tree field ids and hir field ids
7878
let mut res = ArenaMap::default();
79-
8079
let item_tree;
8180
let (parent, fields, krate) = match v {
8281
VariantId::EnumVariantId(it) => {

0 commit comments

Comments
 (0)