Skip to content

t27b: frame_address_return and frame_address_store are refusal tests, moved from the corpus ledger to cli/t27b/tests (Closes #8907) - #8910

Merged
gHashTag merged 1 commit into
masterfrom
t27b-refusal-tests-8907
Oct 11, 2026
Merged

gHashTag merged 1 commit into
masterfrom
t27b-refusal-tests-8907

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #8907

Part of the t27b ledger work (see #8326 and #6063): the corpus ledger should hold corpus specs, and a refusal test should stay tested where it lives.

Cause

Fix

  • Both files move to cli/t27b/tests/, beside int_cast_traps.t27 and i128_traps.t27, the other t27 files that pin what t27b does with a reference defect. Their headers say so.
  • cli/t27b/tests/arraylit.rs already read frame_address_store.t27 from specs/ and checked its refusal; frame_address_return.t27 had no test. The same test now checks both refusals by name, ExprReturn(frame address) naming cells and StmtAssign(frame address) naming cell, in the same six lines.
  • Their two ledger rows and their two seals (spec_path matches) are removed. max_not_pass is recounted from the rows: 7 -> 5.
  • specs/tri/t27b/frame_store_plan.t27 points at the new path in a comment. Its gen-rust output is byte-identical; the spec is resealed.

Checks on the t27c lab (master 39d5af3)

Check Result
cargo test --release -p t27b, aarch64 under qemu 159 passed, 0 failed
cargo test --release -p t27b, host 139 passed, 0 failed
frame_address_return_and_store_are_refused ok on both
t27b corpus specs --jobs 6 under qemu, before and after (with the other ledger items, see below) only intended files moved; these two left specs/
own-language gates from master's own_language.c check_budget exit 0, check_all exit 0; hand-written lines +6 -6 (arraylit.rs), net 0

The corpus pair covered every item of this ledger round at once (this PR, #8904, #8905, #8906, #8908, #8909). Totals: pass 1347 -> 1351, pass_vacuous 6 -> 1, fail 22 -> 21, blocked 465 -> 460, timeout 16 -> 16, JIT/interpreter mismatch 0 -> 0. Every file that moved is one of those items.

🤖 Generated with Claude Code

… moved from the corpus ledger to cli/t27b/tests (Closes #8907)

Both specs exist to show that t27b refuses a reference defect: a slice of a
local returned (ExprReturn(frame address), #7550) and a local's address
stored through a pointer parameter (StmtAssign(frame address), #7735). The
reference passes them only while nothing reuses the dead frame. Their
correct verdict is a permanent refusal, so as corpus specs they were two
non-pass ledger rows that could never become pass.

They move to cli/t27b/tests/, beside int_cast_traps.t27 and i128_traps.t27.
arraylit.rs already read frame_address_store.t27 from specs/ and checked its
refusal; the same test now checks both refusals by name in the same six
lines (hand-written lines +6 -6). Their two ledger rows and two seals go,
max_not_pass is recounted from the rows (7 -> 5), and frame_store_plan.t27's
comment points at the new path (gen-rust output unchanged, resealed).

Lab (master 39d5af3): cargo test -p t27b 159 passed on aarch64 under qemu
and 139 on the host, frame_address_return_and_store_are_refused ok on both;
t27b corpus before and after moves only the two files out of specs/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gHashTag
gHashTag enabled auto-merge (squash) October 11, 2026 04:06
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-11 04:08:18 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 47
PRs with All Checks Green 3
READY 2
FAILING 47
PENDING 0
NO CHECKS YET 0

These columns do not partition: 2 + 47 + 0 + 0 = 49, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=465abf513dc2 != 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).

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.

t27b: frame_address_return and frame_address_store are refusal tests -- move them from the corpus ledger to cli/t27b/tests

2 participants