Repository navigation
Oracles: seven new checks for rustc; findings 19–28 - #29
Merged
Merged
Conversation
…rentials; findings 19 and 20 (RISC-V/LoongArch ABI) rustc/opt-diff.py runs each runnable UI test under 13 configurations (opt levels, MIR opt levels, LTO, target CPU, Cranelift) and compares behavior with the unoptimized baseline. solver-diff.py compiles every UI test with the old and new trait solvers and with Polonius, and runs one-sided acceptances under Miri. miri-diff.py interprets runnable tests at MIR opt levels 0, 2 and 4 and compares with the compiled program. rewrite-diff.py applies mirth-rewrite's meaning-preserving rewrites (generic-wrap, alias, reorder, unused) and compares verdicts and error codes. abi-diff.py compares rustc's extern "C" lowering with clang's for random C signatures on 21 main targets. uitest.py holds the shared header reading, building, running, Miri and job driver. Findings 19 (stack-passed narrow integers not sign-extended) and 20 (float+pointer structs in FP registers) on riscv64 and loongarch64, from abi-diff.py. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QXiEXbESemwqMLYKaWLDbT
…s), crash-diff.py (UI tests under a debug-assertions compiler with -Zvalidate-mir); harness fixes: full builds where monomorphization matters, argv[0] and test timings, rewrites without lint attributes, files that cannot move skipped Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QXiEXbESemwqMLYKaWLDbT
…er, Cranelift's own panics as backend gaps; the sweep over 3,217 runnable UI tests and 13 configurations has no differences left Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QXiEXbESemwqMLYKaWLDbT
…threaded tests not compared natively, UB in tests with their own unsafe code noted, tests that assert unspecified behavior listed; the sweep over 3,094 runnable UI tests has no findings left Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QXiEXbESemwqMLYKaWLDbT
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QXiEXbESemwqMLYKaWLDbT
…d parameters, cfg (not cfg_attr) copied, inline modules untouched; rewrite-diff.py: a private copy of the rewriter per sweep, only verdicts are findings, generic-wrap skips generic_const_exprs Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QXiEXbESemwqMLYKaWLDbT
…ions) failing on 17 UI tests that pass the release compiler; crash-known.txt Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QXiEXbESemwqMLYKaWLDbT
… MIR opt level; alias rewrite leaves receivers alone Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QXiEXbESemwqMLYKaWLDbT
…are noted, not reported Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QXiEXbESemwqMLYKaWLDbT
…ior warning) and 27 (new solver: parameter reached only through a projection not inferred; surrealdb via diskann-wide); alias rewrite leaves impl self types and attributed parameters alone Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QXiEXbESemwqMLYKaWLDbT
… order, a different function called in the other) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QXiEXbESemwqMLYKaWLDbT
…se for a recursion_limit=6 test Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QXiEXbESemwqMLYKaWLDbT
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QXiEXbESemwqMLYKaWLDbT
… the trackers, with severity and what to report Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QXiEXbESemwqMLYKaWLDbT
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.
Stacked on the checks PR (
mirth/checks).The first seven checks of the build order in
docs/checks.md. The scripts sharerustc/uitest.py(UI-test headers, building, running, Miri, the job driver), and each has--recheck,--knownand--pause-on-findingfor the frontier loop. Results are at the end ofdocs/checks.md.opt-diff.pysolver-diff.pymiri-diff.pycrates/mirth-rewrite,rewrite-diff.pyabi-diff.py-Zvalidate-mir)crash-diff.pyrelease-diff.pyNew findings (
docs/hunt.md, with facts pages and reductions){float, pointer}struct is passed in FP + integer registers; clang uses integer registers.-Zvalidate-mir, and compiletest pins the old solver.diskann-wide.🤖 Generated with Claude Code
https://claude.ai/code/session_01QXiEXbESemwqMLYKaWLDbT