about summary refs log tree commit diff
path: root/compiler/rustc_middle/src/mir/coverage.rs
diff options
context:
space:
mode:
authorZalathar <Zalathar@users.noreply.github.com>2024-04-21 12:06:03 +1000
committerZalathar <Zalathar@users.noreply.github.com>2024-04-22 21:55:33 +1000
commit97bf5536827ea7a1ba6b7cf856dd2b22184d2527 (patch)
tree8156d6a955096954d6fa05565f11cb7c93acde45 /compiler/rustc_middle/src/mir/coverage.rs
parenta892c2387e64ba080a6503d422931f3a0916826a (diff)
downloadrust-97bf5536827ea7a1ba6b7cf856dd2b22184d2527.tar.gz
rust-97bf5536827ea7a1ba6b7cf856dd2b22184d2527.zip
coverage: Detach MC/DC branch spans from regular branch spans
MC/DC's reliance on the existing branch coverage types is making it much harder
to improve branch coverage.
Diffstat (limited to 'compiler/rustc_middle/src/mir/coverage.rs')
-rw-r--r--compiler/rustc_middle/src/mir/coverage.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/rustc_middle/src/mir/coverage.rs b/compiler/rustc_middle/src/mir/coverage.rs
index b1d0c815ae0..04011fd4194 100644
--- a/compiler/rustc_middle/src/mir/coverage.rs
+++ b/compiler/rustc_middle/src/mir/coverage.rs
@@ -314,7 +314,9 @@ impl Default for ConditionInfo {
 #[derive(TyEncodable, TyDecodable, Hash, HashStable, TypeFoldable, TypeVisitable)]
 pub struct MCDCBranchSpan {
     pub span: Span,
-    pub condition_info: ConditionInfo,
+    /// If `None`, this actually represents a normal branch span inserted for
+    /// code that was too complex for MC/DC.
+    pub condition_info: Option<ConditionInfo>,
     pub true_marker: BlockMarkerId,
     pub false_marker: BlockMarkerId,
 }