about summary refs log tree commit diff
path: root/compiler/rustc_log
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2025-03-19 15:51:54 +0000
committerbors <bors@rust-lang.org>2025-03-19 15:51:54 +0000
commit1aeb99d248e1b0069110cb03c6f1dcc7b36fd7f3 (patch)
tree13c3b129ec79a46ed690c912ee0a63db0597eeb1 /compiler/rustc_log
parenta7fc463dd8fbeca800d4b3efc501069502cffe64 (diff)
parentb43a29711e7ab50c1ee47a2d030273c83099b15e (diff)
downloadrust-1aeb99d248e1b0069110cb03c6f1dcc7b36fd7f3.tar.gz
rust-1aeb99d248e1b0069110cb03c6f1dcc7b36fd7f3.zip
Auto merge of #122156 - Zoxc:side-effect-dep-node, r=oli-obk
Represent diagnostic side effects as dep nodes

This changes diagnostic to be tracked as a special dep node (`SideEffect`) instead of having a list of side effects associated with each dep node. `SideEffect` is always red and when forced, it emits the diagnostic and marks itself green. Each emitted diagnostic generates a new `SideEffect` with an unique dep node index.

Some implications of this:

- Diagnostic may now be emitted more than once as they can be emitted once when the `SideEffect` gets marked green and again if the task it depends on needs to be re-executed due to another node being red. It relies on deduplicating of diagnostics to avoid that.

- Anon tasks which emits diagnostics will no longer *incorrectly* be merged with other anon tasks.

- Reusing a CGU will now emit diagnostics from the task generating it.
Diffstat (limited to 'compiler/rustc_log')
0 files changed, 0 insertions, 0 deletions