Skip to content

Commit b5fccf0

Browse files
author
The rustc-josh-sync Cronjob Bot
committed
Merge ref '562dee4820c4' from rust-lang/rust
Pull recent changes from https://github.com/rust-lang/rust via Josh. Upstream ref: rust-lang/rust@562dee4 Filtered ref: 8952854 Upstream diff: rust-lang/rust@91021cc...562dee4 This merge was created using https://github.com/rust-lang/josh-sync.
2 parents 629314a + 8952854 commit b5fccf0

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

src/queries/incremental-compilation-in-detail.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,13 @@ deal with all of the above but so far that seemed like more trouble than it woul
418418

419419
## Query modifiers
420420

421+
> FIXME: Make [`rustc_middle::query::modifiers`] the home for query modifier documentation,
422+
> and migrate all other useful modifier docs there after verifying that they are still accurate.
423+
424+
[`rustc_middle::query::modifiers`]:
425+
https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/query/modifiers/index.html
426+
427+
421428
The query system allows for applying [modifiers][mod] to queries.
422429
These modifiers affect certain aspects of how the system treats the query with
423430
respect to incremental compilation:
@@ -437,6 +444,9 @@ respect to incremental compilation:
437444
as an optimization because the system can skip recording dependencies in
438445
the first place.
439446

447+
- `no_force` - Never "force" the dep nodes for this query, even if the query's
448+
key type is recoverable.
449+
440450
- `no_hash` - Applying `no_hash` to a query tells the system to not compute
441451
the fingerprint of the query's result.
442452
This has two consequences:
@@ -475,13 +485,6 @@ respect to incremental compilation:
475485
For example, it makes no sense to store values from upstream
476486
crates in the cache because they are already available in the upstream crate's metadata.
477487

478-
- `anon` - This attribute makes the system use "anonymous" dep-nodes for the given query.
479-
An anonymous dep-node is not identified by the corresponding query key.
480-
Instead, its ID is computed from the IDs of its dependencies.
481-
This allows the red-green system to do its change detection even if there is no
482-
query key available for a given dep-node -- something which is needed for
483-
handling trait selection because it is not based on queries.
484-
485488
[mod]: ../query.html#adding-a-new-kind-of-query
486489

487490

0 commit comments

Comments
 (0)