Skip to content

The arm's own comment named the case it was missing - #2872

Merged
gHashTag merged 1 commit into
masterfrom
w726
Aug 29, 2026
Merged

The arm's own comment named the case it was missing#2872
gHashTag merged 1 commit into
masterfrom
w726

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Two sections from #2871.

312 — the match arm's own comment named the case it was missing.

NodeKind::StmtForRange | NodeKind::StmtWhile | NodeKind::StmtFor => {
    // Control flow in a test block: a `for`/`while`/`if` was dropped
    // as `// (stmt: StmtForRange)`, silently voiding loop bodies that
    // accumulate assertions (t27#1948).

if is named in the sentence and is not in the arm. The cost: a top-level if in a test block became // (stmt: StmtIf), so the accumulator flag was set true and never set false — the test could not fail and reported PASSED. When a comment enumerates cases, that list is checkable against the pattern above it in one glance.

313 — two probes disagreed and the first one was mine. My first check of that finding read lucas_accumulator.t27, found the if fully emitted, and I nearly recorded the report as not reproducing. It was reproducing — in posit_ladder_control.t27, where the if sits at the top level of the test body; in lucas_accumulator it is nested inside a while, which routes through a path that handles it.

The claim said top-level if. I tested an if. When a report names a position, the position is part of the claim — and getting it wrong costs more than a missed defect: it produces a confident refutation of a true finding.

Refs #2871

312: a match arm covers `StmtForRange | StmtWhile | StmtFor` and the
comment directly under it says "a `for`/`while`/`if` was dropped". `if`
is in the sentence and not in the pattern. A top-level `if` in a test
block therefore became `// (stmt: StmtIf)`, the flag was set true and
never false, and the test reported PASSED. When a comment enumerates
cases, the list is checkable against the arm in one glance.

313: my first probe of that finding read the wrong spec --
`lucas_accumulator.t27` nests its `if` inside a `while`, which routes
through a path that handles it -- and I nearly recorded a true report as
not reproducing. The claim said TOP-LEVEL `if`; I tested an `if`. When a
report names a position, the position is part of the claim, and ignoring
it produces a confident refutation rather than a missed defect.

Refs #2871
@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-29 19:26:34 UTC

Summary

Status Count
Total Open PRs 9
PRs with Failing Checks 8
PRs with All Checks Green 1
READY 0
FAILING 8
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=6e3be54a2bd0 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag enabled auto-merge (squash) August 29, 2026 19:26
@gHashTag
gHashTag merged commit 7bc9b0f into master Aug 29, 2026
22 of 23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant