Repository navigation
mirth-lab gate-mutate: feature-gate mutation; findings 40-45 - #38
Merged
Merged
Conversation
…eatures (splices, moved items, extra incomplete gates, edits) under the solver configuration columns; ICEs and hangs grouped by signature, reduced, triaged against rust-lang/rust issues Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QXiEXbESemwqMLYKaWLDbT
… blocks, line runs, no new E0658), --rereduce, triage checks each reduced file alone (with --test when the source uses the harness); one-hour run: 88,174 mutants, 19 signatures, findings 40-45 with reduced repros Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QXiEXbESemwqMLYKaWLDbT
This was referenced Oct 10, 2026
Contributor
Author
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.
Feature-gate mutation (docs/checks.md Part 1, item 1): generated inputs that reach the ICEs unstable features cause. 144 of the 334 crash bugs in the survey needed a nightly feature.
mirth-lab gate-mutateDraws from the 4,419 standalone UI tests that enable a feature (348 features). The 37 incomplete features, read from rustc_feature, are drawn three times as often. Each mutant uses one strategy:
Each mutant is compiled once, under one configuration: the test's own flags,
-Znext-solver=globally, or-Zassumptions-on-binders.A finding is an ICE, or a hang confirmed with three times the timeout, that the unmutated test does not give. Findings are grouped by signature (the panic location and the first query on the stack, or a delayed bug's message). For each signature:
--triagechecks that the reduced file reproduces on its own (adding--testwhen the source test uses the test harness), records the exact command, and searches rust-lang/rust's issues for candidates. I then read the candidates by hand.Runs are seeded and resumable, and support
--pause-on-findingand--known.--rereduceredoes reduction after the reducer changes.One-hour run on 4 cores (the machine was busy with the big run)
88,174 mutants gave 482 ICEs and 16 timeouts. 197 of those mutants gave a signature their unmutated test doesn't, in 19 signatures and 12 families.
staged_apifeature.docs/hunt/tests/gate-mutate/:-Zassumptions-on-binderswithgeneric_const_exprsasserts on any crate.-Znext-solverhits a delayed bug in the old solver's const normalization.rustc --testwith a#[test] #[unsafe(naked)]inner fn panics with "expected statement". Reachable on stable, 1.82.0 through 1.98.0.rustchangs on nightly-2026-10-06.🤖 Generated with Claude Code
https://claude.ai/code/session_01QXiEXbESemwqMLYKaWLDbT