about summary refs log tree commit diff
path: root/compiler/rustc_pattern_analysis/src
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2024-02-21 22:48:56 +0100
committerGitHub <noreply@github.com>2024-02-21 22:48:56 +0100
commit9949bbc19cd0a8217447f27b3660183949a8a7f2 (patch)
tree46908792fdfaac59f7b0e0a8c289ebd08b2b6d01 /compiler/rustc_pattern_analysis/src
parent5c89029585db9e7963cc67360213830703091f4d (diff)
parent3a83b279bef65f8b727d33d1c7a80e5d2432f5aa (diff)
downloadrust-9949bbc19cd0a8217447f27b3660183949a8a7f2.tar.gz
rust-9949bbc19cd0a8217447f27b3660183949a8a7f2.zip
Rollup merge of #121261 - Zalathar:pending-dups, r=oli-obk
coverage: Remove `pending_dups` from the span refiner

When extracting coverage spans from a function's MIR, we need to decide how to handle spans that are associated with more than one node (BCB) in the coverage control flow graph.

The existing code for managing those duplicate spans is very subtle and difficult to modify. But by eagerly deduplicating those extracted spans in a much simpler way, we can remove a massive chunk of complexity from the span refiner.

There is a tradeoff here, in that we no longer try to retain *all* nondominating BCBs that have the same span, only the last one in the (semi-arbitrary) dominance ordering. But in practice, this produces very little difference in our coverage tests, and the simplification is so significant that I think it's worthwhile.

``@rustbot`` label +A-code-coverage
Diffstat (limited to 'compiler/rustc_pattern_analysis/src')
0 files changed, 0 insertions, 0 deletions