Repository navigation
t27b: frame_address_return and frame_address_store are refusal tests, moved from the corpus ledger to cli/t27b/tests (Closes #8907) - #8910
Merged
Conversation
… 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
enabled auto-merge (squash)
October 11, 2026 04:06
Contributor
This was referenced Oct 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
specs/tri/t27b/conformance/frame_address_return.t27andframe_address_store.t27exist to show that t27b REFUSES a reference defect:ExprReturn(frame address), see t27b: JIT and interpreter disagree on gen_canvas.t27 since #7425 (lab mismatch 1 on master) #7550);StmtAssign(frame address), see t27b: .{} takes its result type; the two reference passes behind ExprTuple then read a dead frame #7735).blocked/reference-bugledger rows that could never becomepass.Fix
cli/t27b/tests/, besideint_cast_traps.t27andi128_traps.t27, the other t27 files that pin what t27b does with a reference defect. Their headers say so.cli/t27b/tests/arraylit.rsalready readframe_address_store.t27fromspecs/and checked its refusal;frame_address_return.t27had no test. The same test now checks both refusals by name,ExprReturn(frame address)namingcellsandStmtAssign(frame address)namingcell, in the same six lines.spec_pathmatches) are removed.max_not_passis recounted from the rows: 7 -> 5.specs/tri/t27b/frame_store_plan.t27points at the new path in a comment. Itsgen-rustoutput is byte-identical; the spec is resealed.Checks on the t27c lab (master 39d5af3)
cargo test --release -p t27b, aarch64 under qemucargo test --release -p t27b, hostframe_address_return_and_store_are_refusedt27b corpus specs --jobs 6under qemu, before and after (with the other ledger items, see below)specs/own_language.ccheck_budgetexit 0,check_allexit 0; hand-written lines +6 -6 (arraylit.rs), net 0The 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