Fix (?) dependency tracking for the metavar span table #127218
Labels
A-incr-comp
Area: Incremental compilation
A-macros
Area: All kinds of macros (custom derive, macro_rules!, proc macros, ..)
A-query-system
Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html)
C-bug
Category: This is a bug.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
WG-incr-comp
Working group: Incremental compilation
metavar_spans
is 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
tcx
to 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.
The text was updated successfully, but these errors were encountered: