-
-
Notifications
You must be signed in to change notification settings - Fork 14.9k
Fix (?) dependency tracking for the metavar span table #127218
Copy link
Copy link
Closed
Labels
A-incr-compArea: Incremental compilationArea: Incremental compilationA-macrosArea: All kinds of macros (custom derive, macro_rules!, proc macros, ..)Area: All kinds of macros (custom derive, macro_rules!, proc macros, ..)A-query-systemArea: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html)Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html)C-bugCategory: This is a bug.Category: This is a bug.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.WG-incr-compWorking group: Incremental compilationWorking group: Incremental compilation
Metadata
Metadata
Assignees
Labels
A-incr-compArea: Incremental compilationArea: Incremental compilationA-macrosArea: All kinds of macros (custom derive, macro_rules!, proc macros, ..)Area: All kinds of macros (custom derive, macro_rules!, proc macros, ..)A-query-systemArea: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html)Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html)C-bugCategory: This is a bug.Category: This is a bug.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.WG-incr-compWorking group: Incremental compilationWorking group: Incremental compilation
Type
Fields
Give feedbackNo fields configured for issues without a type.
metavar_spansis a piece of global data that lives inSessionGlobals, it is similar to hygiene data in the sameSessionGlobals.This table is populated during macro expansion and after that it doesn't change.
Data from the table can be read from any query that performs the
span1.to(span2)operation.This table is clearly a piece of untracked data.
We also cannot querify accesses to it by passing
tcxto allspan1.to(span2)operations.I suspect the whole table should be hashed at some point after macro expansion so it becomes an initial input to the query system.