summaryrefslogtreecommitdiffstats
path: root/tests/run-coverage/lazy_boolean.coverage
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run-coverage/lazy_boolean.coverage')
-rw-r--r--tests/run-coverage/lazy_boolean.coverage64
1 files changed, 64 insertions, 0 deletions
diff --git a/tests/run-coverage/lazy_boolean.coverage b/tests/run-coverage/lazy_boolean.coverage
new file mode 100644
index 000000000..bd349df2f
--- /dev/null
+++ b/tests/run-coverage/lazy_boolean.coverage
@@ -0,0 +1,64 @@
+ 1| |#![allow(unused_assignments, unused_variables)]
+ 2| |
+ 3| 1|fn main() {
+ 4| 1| // Initialize test constants in a way that cannot be determined at compile time, to ensure
+ 5| 1| // rustc and LLVM cannot optimize out statements (or coverage counters) downstream from
+ 6| 1| // dependent conditions.
+ 7| 1| let is_true = std::env::args().len() == 1;
+ 8| 1|
+ 9| 1| let (mut a, mut b, mut c) = (0, 0, 0);
+ 10| 1| if is_true {
+ 11| 1| a = 1;
+ 12| 1| b = 10;
+ 13| 1| c = 100;
+ 14| 1| }
+ ^0
+ 15| | let
+ 16| 1| somebool
+ 17| | =
+ 18| 1| a < b
+ 19| | ||
+ 20| 0| b < c
+ 21| | ;
+ 22| | let
+ 23| 1| somebool
+ 24| | =
+ 25| 1| b < a
+ 26| | ||
+ 27| 1| b < c
+ 28| | ;
+ 29| 1| let somebool = a < b && b < c;
+ 30| 1| let somebool = b < a && b < c;
+ ^0
+ 31| |
+ 32| | if
+ 33| 1| !
+ 34| 1| is_true
+ 35| 0| {
+ 36| 0| a = 2
+ 37| 0| ;
+ 38| 1| }
+ 39| |
+ 40| | if
+ 41| 1| is_true
+ 42| 1| {
+ 43| 1| b = 30
+ 44| 1| ;
+ 45| 1| }
+ 46| | else
+ 47| 0| {
+ 48| 0| c = 400
+ 49| 0| ;
+ 50| 0| }
+ 51| |
+ 52| 1| if !is_true {
+ 53| 0| a = 2;
+ 54| 1| }
+ 55| |
+ 56| 1| if is_true {
+ 57| 1| b = 30;
+ 58| 1| } else {
+ 59| 0| c = 400;
+ 60| 0| }
+ 61| 1|}
+