-
Notifications
You must be signed in to change notification settings - Fork 13.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of #109935 - michaelwoerister:fix-feed-in-eval-always, r=c…
…jgillot 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 #108481 Maybe also fixes issue #88488. cc `@jyn514` r? `@cjgillot` or `@oli-obk`
- Loading branch information
Showing
3 changed files
with
49 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
// revisions: cpass1 cpass2 | ||
|
||
#![crate_type = "rlib"] | ||
|
||
use std::fmt::Debug; | ||
|
||
// MCVE kindly provided by Nilstrieb at | ||
// https://github.com/rust-lang/rust/issues/108481#issuecomment-1493080185 | ||
|
||
#[derive(Debug)] | ||
pub struct ConstGeneric<const CHUNK_SIZE: usize> { | ||
_p: [(); CHUNK_SIZE], | ||
} | ||
|
||
#[cfg(cpass1)] | ||
impl<const CHUNK_SIZE: usize> ConstGeneric<CHUNK_SIZE> {} |