Gap analysis — c1 in decision #50

scry-mcdc · library/core/src/ptr/mod.rs:825 · branch 316

Status: GAP

What you need

To prove condition c1 independently affects the decision, you need a row where c1 = T and the outcome differs from row 47 (where c1 = F).

Required condition vector:

  c0 = T
  c1 = T
  c2 = F
  c3 = *
  c4 = *
  c5 = *
  c6 = *
  c7 = F
  c8 = *
  c9 = F
  c10 = F
  c11 = *
  c12 = *
  c13 = *
  c14 = *
  c15 = *
  c16 = *
  c17 = *
  c18 = *
  c19 = *
  c20 = *
  c21 = *
  c22 = *
  c23 = *
  c24 = *
  c25 = *
  c26 = *
  c27 = *
  c28 = *
  c29 = *

Conditions marked * were short-circuited in the baseline row; the new test must drive inputs so they get evaluated to either T or F.

Suggested test stub

#[test]
fn closes_gap_d50_c1() {
    // Verdict: scry-mcdc
    // Source: library/core/src/ptr/mod.rs:825
    // Branch:  316
    //
    // TODO: drive the function so condition c1 evaluates to the
    // value above and the resulting decision outcome differs from
    // the existing pair row.
    todo!("witness viz: gap drill-down for d#50/c1");
}

After adding the test, re-run: witness instrument && witness run --invoke run_row_NEW && witness report. The condition should flip from gap to proved.