Understand the failure.
Verify the repair.
Small, reproducible software failures. The broken implementation, the fix that didn’t work, and the one that passed—preserved together.
Explore the cases ↓How results are verified ↗WHAT THE ARCHIVE CONTAINS
100840 executable cases. 20168 are open.
Every case records the implementation that fails, the fix that did not work, and the repair that passed its checks—with recorded outputs and source hashes. This release adds 100840 cases across 20168 failure mechanisms and 254 domains.
The open tier gives you the failure and the unsuccessful fix for one case in every mechanism. The remaining 80672 cases, 5 variants per mechanism, are member-only: the verified repair, its recorded checks, and the full fixture suite are held in the member archive. Read the methodology ↗
A RECORD OF WHAT WENT WRONG
Browse the archive / 100840
Trait-object reference coercion loses the borrowed metadata witness · case 01
Trait-object reference coercion loses the borrowed metadata witness.
Trait-object reference coercion loses the borrowed metadata witness · case 02
Trait-object reference coercion loses the borrowed metadata witness.
Trait-object reference coercion loses the borrowed metadata witness · case 03
Trait-object reference coercion loses the borrowed metadata witness.
Trait-object reference coercion loses the borrowed metadata witness · case 04
Trait-object reference coercion loses the borrowed metadata witness.
Trait-object reference coercion loses the borrowed metadata witness · case 05
Trait-object reference coercion loses the borrowed metadata witness.
Array-to-slice borrow omits the final owned element · case 01
Array-to-slice borrow omits the final owned element.
Array-to-slice borrow omits the final owned element · case 02
Array-to-slice borrow omits the final owned element.
Array-to-slice borrow omits the final owned element · case 03
Array-to-slice borrow omits the final owned element.
Array-to-slice borrow omits the final owned element · case 04
Array-to-slice borrow omits the final owned element.
Array-to-slice borrow omits the final owned element · case 05
Array-to-slice borrow omits the final owned element.
A mutable reference to a reference permits inner lifetime shortening · case 01
A mutable reference to a reference permits inner lifetime shortening.
A mutable reference to a reference permits inner lifetime shortening · case 02
A mutable reference to a reference permits inner lifetime shortening.
A mutable reference to a reference permits inner lifetime shortening · case 03
A mutable reference to a reference permits inner lifetime shortening.
A mutable reference to a reference permits inner lifetime shortening · case 04
A mutable reference to a reference permits inner lifetime shortening.
A mutable reference to a reference permits inner lifetime shortening · case 05
A mutable reference to a reference permits inner lifetime shortening.
Shared-reference coercion extends the outer borrow lifetime · case 01
Shared-reference coercion extends the outer borrow lifetime.
Shared-reference coercion extends the outer borrow lifetime · case 02
Shared-reference coercion extends the outer borrow lifetime.
Shared-reference coercion extends the outer borrow lifetime · case 03
Shared-reference coercion extends the outer borrow lifetime.
Shared-reference coercion extends the outer borrow lifetime · case 04
Shared-reference coercion extends the outer borrow lifetime.
Shared-reference coercion extends the outer borrow lifetime · case 05
Shared-reference coercion extends the outer borrow lifetime.
A multi-step deref coercion loses an intermediate borrow dependency · case 01
A multi-step deref coercion loses an intermediate borrow dependency.
A multi-step deref coercion loses an intermediate borrow dependency · case 02
A multi-step deref coercion loses an intermediate borrow dependency.
A multi-step deref coercion loses an intermediate borrow dependency · case 03
A multi-step deref coercion loses an intermediate borrow dependency.
A multi-step deref coercion loses an intermediate borrow dependency · case 04
A multi-step deref coercion loses an intermediate borrow dependency.
A multi-step deref coercion loses an intermediate borrow dependency · case 05
A multi-step deref coercion loses an intermediate borrow dependency.
Implicit reference coercion invokes a dereference that consumes its owner · case 01
Implicit reference coercion invokes a dereference that consumes its owner.
Implicit reference coercion invokes a dereference that consumes its owner · case 02
Implicit reference coercion invokes a dereference that consumes its owner.
Implicit reference coercion invokes a dereference that consumes its owner · case 03
Implicit reference coercion invokes a dereference that consumes its owner.
Implicit reference coercion invokes a dereference that consumes its owner · case 04
Implicit reference coercion invokes a dereference that consumes its owner.
Implicit reference coercion invokes a dereference that consumes its owner · case 05
Implicit reference coercion invokes a dereference that consumes its owner.
Function-reference reification drops one captured lifetime dependency · case 01
Function-reference reification drops one captured lifetime dependency.
Function-reference reification drops one captured lifetime dependency · case 02
Function-reference reification drops one captured lifetime dependency.
Function-reference reification drops one captured lifetime dependency · case 03
Function-reference reification drops one captured lifetime dependency.
Function-reference reification drops one captured lifetime dependency · case 04
Function-reference reification drops one captured lifetime dependency.
Function-reference reification drops one captured lifetime dependency · case 05
Function-reference reification drops one captured lifetime dependency.
Diverging branch coercion invents a reference origin at the join · case 01
Diverging branch coercion invents a reference origin at the join.
Diverging branch coercion invents a reference origin at the join · case 02
Diverging branch coercion invents a reference origin at the join.
Diverging branch coercion invents a reference origin at the join · case 03
Diverging branch coercion invents a reference origin at the join.
Diverging branch coercion invents a reference origin at the join · case 04
Diverging branch coercion invents a reference origin at the join.
Diverging branch coercion invents a reference origin at the join · case 05
Diverging branch coercion invents a reference origin at the join.
Branch initialization joins use union rather than definite intersection · case 01
Branch initialization joins use union rather than definite intersection.
Branch initialization joins use union rather than definite intersection · case 02
Branch initialization joins use union rather than definite intersection.
Branch initialization joins use union rather than definite intersection · case 03
Branch initialization joins use union rather than definite intersection.
Branch initialization joins use union rather than definite intersection · case 04
Branch initialization joins use union rather than definite intersection.
Branch initialization joins use union rather than definite intersection · case 05
Branch initialization joins use union rather than definite intersection.
A move on one predecessor is absent from the possible-move state · case 01
A move on one predecessor is absent from the possible-move state.
A move on one predecessor is absent from the possible-move state · case 02
A move on one predecessor is absent from the possible-move state.
A move on one predecessor is absent from the possible-move state · case 03
A move on one predecessor is absent from the possible-move state.
A move on one predecessor is absent from the possible-move state · case 04
A move on one predecessor is absent from the possible-move state.
A move on one predecessor is absent from the possible-move state · case 05
A move on one predecessor is absent from the possible-move state.
Join retains exclusive capability when predecessor owners differ · case 01
Join retains exclusive capability when predecessor owners differ.
Join retains exclusive capability when predecessor owners differ · case 02
Join retains exclusive capability when predecessor owners differ.
Join retains exclusive capability when predecessor owners differ · case 03
Join retains exclusive capability when predecessor owners differ.
Join retains exclusive capability when predecessor owners differ · case 04
Join retains exclusive capability when predecessor owners differ.
Join retains exclusive capability when predecessor owners differ · case 05
Join retains exclusive capability when predecessor owners differ.
A returned predecessor pollutes continuing ownership state · case 01
A returned predecessor pollutes continuing ownership state.
A returned predecessor pollutes continuing ownership state · case 02
A returned predecessor pollutes continuing ownership state.
A returned predecessor pollutes continuing ownership state · case 03
A returned predecessor pollutes continuing ownership state.
A returned predecessor pollutes continuing ownership state · case 04
A returned predecessor pollutes continuing ownership state.
A returned predecessor pollutes continuing ownership state · case 05
A returned predecessor pollutes continuing ownership state.
A diverging branch contributes an ordinary ownership state instead of bottom · case 01
A diverging branch contributes an ordinary ownership state instead of bottom.
A diverging branch contributes an ordinary ownership state instead of bottom · case 02
A diverging branch contributes an ordinary ownership state instead of bottom.
A diverging branch contributes an ordinary ownership state instead of bottom · case 03
A diverging branch contributes an ordinary ownership state instead of bottom.
A diverging branch contributes an ordinary ownership state instead of bottom · case 04
A diverging branch contributes an ordinary ownership state instead of bottom.
A diverging branch contributes an ordinary ownership state instead of bottom · case 05
A diverging branch contributes an ordinary ownership state instead of bottom.
A joined reference keeps only one predecessor referent origin · case 01
A joined reference keeps only one predecessor referent origin.
A joined reference keeps only one predecessor referent origin · case 02
A joined reference keeps only one predecessor referent origin.
A joined reference keeps only one predecessor referent origin · case 03
A joined reference keeps only one predecessor referent origin.
A joined reference keeps only one predecessor referent origin · case 04
A joined reference keeps only one predecessor referent origin.
A joined reference keeps only one predecessor referent origin · case 05
A joined reference keeps only one predecessor referent origin.
A path initialized on every branch remains incorrectly marked moved · case 01
A path initialized on every branch remains incorrectly marked moved.
A path initialized on every branch remains incorrectly marked moved · case 02
A path initialized on every branch remains incorrectly marked moved.
A path initialized on every branch remains incorrectly marked moved · case 03
A path initialized on every branch remains incorrectly marked moved.
A path initialized on every branch remains incorrectly marked moved · case 04
A path initialized on every branch remains incorrectly marked moved.
A path initialized on every branch remains incorrectly marked moved · case 05
A path initialized on every branch remains incorrectly marked moved.
Different storage incarnations merge because their source variable spelling matches · case 01
Different storage incarnations merge because their source variable spelling matches.
Different storage incarnations merge because their source variable spelling matches · case 02
Different storage incarnations merge because their source variable spelling matches.
Different storage incarnations merge because their source variable spelling matches · case 03
Different storage incarnations merge because their source variable spelling matches.
Different storage incarnations merge because their source variable spelling matches · case 04
Different storage incarnations merge because their source variable spelling matches.
Different storage incarnations merge because their source variable spelling matches · case 05
Different storage incarnations merge because their source variable spelling matches.
A conditionally initialized field lacks its runtime drop flag obligation · case 01
A conditionally initialized field lacks its runtime drop flag obligation.
A conditionally initialized field lacks its runtime drop flag obligation · case 02
A conditionally initialized field lacks its runtime drop flag obligation.
A conditionally initialized field lacks its runtime drop flag obligation · case 03
A conditionally initialized field lacks its runtime drop flag obligation.
A conditionally initialized field lacks its runtime drop flag obligation · case 04
A conditionally initialized field lacks its runtime drop flag obligation.
A conditionally initialized field lacks its runtime drop flag obligation · case 05
A conditionally initialized field lacks its runtime drop flag obligation.
A path-dependent borrow capability becomes unconditional at the join · case 01
A path-dependent borrow capability becomes unconditional at the join.
A path-dependent borrow capability becomes unconditional at the join · case 02
A path-dependent borrow capability becomes unconditional at the join.
A path-dependent borrow capability becomes unconditional at the join · case 03
A path-dependent borrow capability becomes unconditional at the join.
A path-dependent borrow capability becomes unconditional at the join · case 04
A path-dependent borrow capability becomes unconditional at the join.
A path-dependent borrow capability becomes unconditional at the join · case 05
A path-dependent borrow capability becomes unconditional at the join.
Aggregate lowering reorders a borrow before its owner-producing field expression · case 01
Aggregate lowering reorders a borrow before its owner-producing field expression.
Aggregate lowering reorders a borrow before its owner-producing field expression · case 02
Aggregate lowering reorders a borrow before its owner-producing field expression.
Aggregate lowering reorders a borrow before its owner-producing field expression · case 03
Aggregate lowering reorders a borrow before its owner-producing field expression.
Aggregate lowering reorders a borrow before its owner-producing field expression · case 04
Aggregate lowering reorders a borrow before its owner-producing field expression.
Aggregate lowering reorders a borrow before its owner-producing field expression · case 05
Aggregate lowering reorders a borrow before its owner-producing field expression.
Struct update moves a field explicitly replaced by the constructor · case 01
Struct update moves a field explicitly replaced by the constructor.
Struct update moves a field explicitly replaced by the constructor · case 02
Struct update moves a field explicitly replaced by the constructor.
Struct update moves a field explicitly replaced by the constructor · case 03
Struct update moves a field explicitly replaced by the constructor.
Struct update moves a field explicitly replaced by the constructor · case 04
Struct update moves a field explicitly replaced by the constructor.
Struct update moves a field explicitly replaced by the constructor · case 05
Struct update moves a field explicitly replaced by the constructor.
INSPECTABLE BY DESIGN
Every result has a runnable source.
Runnable implementations with recorded outputs, source hashes, and explicit contracts. Related variants share a failure mechanism and belong together in evaluation splits.
Read the methodology ↗