diff options
author | bors <bors@rust-lang.org> | 2023-04-12 11:16:35 +0000 |
---|---|---|
committer | bors <bors@rust-lang.org> | 2023-04-12 11:16:35 +0000 |
commit | 661b33f5247debc4e0cd948caa388997e18e9cb8 (patch) | |
tree | c8e4fbab9cc17893447d3cc242effcbd125226b3 /compiler/rustc_target | |
parent | 9be9b5e09ad834e2ba9f2571ca17059e18f89b71 (diff) | |
parent | 5f52a96b85cf574f083b796d4d61b6d19461694b (diff) | |
download | rust-661b33f5247debc4e0cd948caa388997e18e9cb8.tar.gz |
Auto merge of #109935 - michaelwoerister:fix-feed-in-eval-always, r=cjgillot
incr.comp.: Make sure dependencies are recorded when feeding queries during eval-always queries.
This PR makes sure we don't drop dependency edges when feeding queries during an eval-always query.
Background: During eval-always queries, no dependencies are recorded because the system knows to unconditionally re-evaluate them regardless of any actual dependencies. This works fine for these queries themselves but leads to a problem when feeding other queries: When queries are fed, we set up their dependency edges by copying the current set of dependencies of the feeding query. But because this set is empty for eval-always queries, we record no edges at all -- which has the effect that the fed query instances always look "green" to the system, although they should always be "red".
The fix is to explicitly add a dependency on the artificial "always red" dep-node when feeding during eval-always queries.
Fixes https://github.com/rust-lang/rust/issues/108481
Maybe also fixes issue https://github.com/rust-lang/rust/issues/88488.
cc `@jyn514`
r? `@cjgillot` or `@oli-obk`
Diffstat (limited to 'compiler/rustc_target')
0 files changed, 0 insertions, 0 deletions