   LL|       |#![allow(unused_assignments)]
   LL|       |//@ failure-status: 101
   LL|       |
   LL|      4|fn might_fail_assert(one_plus_one: u32) {
   LL|      4|    println!("does 1 + 1 = {}?", one_plus_one);
   LL|      4|    assert_eq!(1 + 1, one_plus_one, "the argument was wrong");
                                                  ^1
   LL|      3|}
   LL|       |
   LL|      1|fn main() -> Result<(), u8> {
   LL|      1|    let mut countdown = 10;
   LL|     11|    while countdown > 0 {
   LL|     11|        if countdown == 1 {
   LL|      1|            might_fail_assert(3);
   LL|     10|        } else if countdown < 5 {
   LL|      3|            might_fail_assert(2);
   LL|      6|        }
   LL|     10|        countdown -= 1;
   LL|       |    }
   LL|      0|    Ok(())
   LL|      0|}
   LL|       |
   LL|       |// Notes:
   LL|       |//   1. Compare this program and its coverage results to those of the very similar test
   LL|       |//      `panic_unwind.rs`, and similar tests `abort.rs` and `try_error_result.rs`.
   LL|       |//   2. This test confirms the coverage generated when a program passes or fails an `assert!()` or
   LL|       |//      related `assert_*!()` macro.
   LL|       |//   3. Notably, the `assert` macros *do not* generate `TerminatorKind::Assert`. The macros produce
   LL|       |//      conditional expressions, `TerminatorKind::SwitchInt` branches, and a possible call to
   LL|       |//      `begin_panic_fmt()` (that begins a panic unwind, if the assertion test fails).
   LL|       |//   4. `TerminatoKind::Assert` is, however, also present in the MIR generated for this test
   LL|       |//      (and in many other coverage tests). The `Assert` terminator is typically generated by the
   LL|       |//      Rust compiler to check for runtime failures, such as numeric overflows.

