rust/compiler/rustc_query_system/src
bors 661b33f524 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`
2023-04-12 11:16:35 +00:00
..
dep_graph Auto merge of #109935 - michaelwoerister:fix-feed-in-eval-always, r=cjgillot 2023-04-12 11:16:35 +00:00
ich Use a lock-free datastructure for source_span 2023-02-21 08:38:24 +00:00
query Fix some clippy::complexity 2023-04-09 23:22:14 +02:00
cache.rs Remove a fishy Clone impl 2023-04-04 09:01:44 +00:00
error.rs Always evaluate vecs of subdiagnostics eagerly 2022-12-04 01:13:21 +01:00
lib.rs Simplify message paths 2023-03-11 22:51:57 +01:00
values.rs Use DepKind instead of &str 2022-12-23 18:39:49 +05:30