   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|     10|    while countdown > 0 {
   LL|      9|        if countdown == 1 {
   LL|      1|            might_fail_assert(3);
   LL|      8|        } else if countdown < 5 {
   LL|      3|            might_fail_assert(2);
   LL|      5|        }
   LL|      9|        countdown -= 1;
   LL|       |    }
   LL|      1|    Ok(())
   LL|      1|}
   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.

