about summary refs log tree commit diff
path: root/tests/coverage/if.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/coverage/if.rs')
-rw-r--r--tests/coverage/if.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/coverage/if.rs b/tests/coverage/if.rs
new file mode 100644
index 00000000000..8ad5042ff7b
--- /dev/null
+++ b/tests/coverage/if.rs
@@ -0,0 +1,28 @@
+#![allow(unused_assignments, unused_variables)]
+
+fn main() {
+    // Initialize test constants in a way that cannot be determined at compile time, to ensure
+    // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from
+    // dependent conditions.
+    let
+    is_true
+    =
+        std::env::args().len()
+    ==
+        1
+    ;
+    let
+        mut
+    countdown
+    =
+        0
+    ;
+    if
+        is_true
+    {
+        countdown
+        =
+            10
+        ;
+    }
+}