#![feature(coverage_attribute)] //@ edition: 2021 //@ compile-flags: -Zcoverage-options=condition //@ llvm-cov-flags: --show-branches=count use core::hint::black_box; fn simple_assign(a: bool) { let x = a; black_box(x); } fn assign_and(a: bool, b: bool) { let x = a && b; black_box(x); } fn assign_or(a: bool, b: bool) { let x = a || b; black_box(x); } fn assign_3_or_and(a: bool, b: bool, c: bool) { let x = a || b && c; black_box(x); } fn assign_3_and_or(a: bool, b: bool, c: bool) { let x = a && b || c; black_box(x); } fn foo(a: bool) -> bool { black_box(a) } fn func_call(a: bool, b: bool) { foo(a && b); } #[coverage(off)] fn main() { simple_assign(true); simple_assign(false); assign_and(true, false); assign_and(true, true); assign_and(false, false); assign_or(true, false); assign_or(true, true); assign_or(false, false); assign_3_or_and(true, false, false); assign_3_or_and(true, true, false); assign_3_or_and(false, false, true); assign_3_or_and(false, true, true); assign_3_and_or(true, false, false); assign_3_and_or(true, true, false); assign_3_and_or(false, false, true); assign_3_and_or(false, true, true); func_call(true, false); func_call(true, true); func_call(false, false); }