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
Repeated occurrences of one lifetime parameter receive different actual regions · case 01
Repeated occurrences of one lifetime parameter receive different actual regions.
Repeated occurrences of one lifetime parameter receive different actual regions · case 02
Repeated occurrences of one lifetime parameter receive different actual regions.
Repeated occurrences of one lifetime parameter receive different actual regions · case 03
Repeated occurrences of one lifetime parameter receive different actual regions.
Repeated occurrences of one lifetime parameter receive different actual regions · case 04
Repeated occurrences of one lifetime parameter receive different actual regions.
Repeated occurrences of one lifetime parameter receive different actual regions · case 05
Repeated occurrences of one lifetime parameter receive different actual regions.
Recursive borrow summary uses the caller substitution at a different callee instantiation · case 01
Recursive borrow summary uses the caller substitution at a different callee instantiation.
Recursive borrow summary uses the caller substitution at a different callee instantiation · case 02
Recursive borrow summary uses the caller substitution at a different callee instantiation.
Recursive borrow summary uses the caller substitution at a different callee instantiation · case 03
Recursive borrow summary uses the caller substitution at a different callee instantiation.
Recursive borrow summary uses the caller substitution at a different callee instantiation · case 04
Recursive borrow summary uses the caller substitution at a different callee instantiation.
Recursive borrow summary uses the caller substitution at a different callee instantiation · case 05
Recursive borrow summary uses the caller substitution at a different callee instantiation.
Lifetime substitution rewrites the distinguished static lifetime · case 01
Lifetime substitution rewrites the distinguished static lifetime.
Lifetime substitution rewrites the distinguished static lifetime · case 02
Lifetime substitution rewrites the distinguished static lifetime.
Lifetime substitution rewrites the distinguished static lifetime · case 03
Lifetime substitution rewrites the distinguished static lifetime.
Lifetime substitution rewrites the distinguished static lifetime · case 04
Lifetime substitution rewrites the distinguished static lifetime.
Lifetime substitution rewrites the distinguished static lifetime · case 05
Lifetime substitution rewrites the distinguished static lifetime.
Different calls share one inferred anonymous lifetime variable · case 01
Different calls share one inferred anonymous lifetime variable.
Different calls share one inferred anonymous lifetime variable · case 02
Different calls share one inferred anonymous lifetime variable.
Different calls share one inferred anonymous lifetime variable · case 03
Different calls share one inferred anonymous lifetime variable.
Different calls share one inferred anonymous lifetime variable · case 04
Different calls share one inferred anonymous lifetime variable.
Different calls share one inferred anonymous lifetime variable · case 05
Different calls share one inferred anonymous lifetime variable.
Instantiation reverses the direction of a declared outlives bound · case 01
Instantiation reverses the direction of a declared outlives bound.
Instantiation reverses the direction of a declared outlives bound · case 02
Instantiation reverses the direction of a declared outlives bound.
Instantiation reverses the direction of a declared outlives bound · case 03
Instantiation reverses the direction of a declared outlives bound.
Instantiation reverses the direction of a declared outlives bound · case 04
Instantiation reverses the direction of a declared outlives bound.
Instantiation reverses the direction of a declared outlives bound · case 05
Instantiation reverses the direction of a declared outlives bound.
Associated lifetime application loses type-argument order in its proof key · case 01
Associated lifetime application loses type-argument order in its proof key.
Associated lifetime application loses type-argument order in its proof key · case 02
Associated lifetime application loses type-argument order in its proof key.
Associated lifetime application loses type-argument order in its proof key · case 03
Associated lifetime application loses type-argument order in its proof key.
Associated lifetime application loses type-argument order in its proof key · case 04
Associated lifetime application loses type-argument order in its proof key.
Associated lifetime application loses type-argument order in its proof key · case 05
Associated lifetime application loses type-argument order in its proof key.
Recursive lifetime inference accepts a summary while one new obligation remains · case 01
Recursive lifetime inference accepts a summary while one new obligation remains.
Recursive lifetime inference accepts a summary while one new obligation remains · case 02
Recursive lifetime inference accepts a summary while one new obligation remains.
Recursive lifetime inference accepts a summary while one new obligation remains · case 03
Recursive lifetime inference accepts a summary while one new obligation remains.
Recursive lifetime inference accepts a summary while one new obligation remains · case 04
Recursive lifetime inference accepts a summary while one new obligation remains.
Recursive lifetime inference accepts a summary while one new obligation remains · case 05
Recursive lifetime inference accepts a summary while one new obligation remains.
Monomorphization drops a reference type lifetime proof before borrow validation · case 01
Monomorphization drops a reference type lifetime proof before borrow validation.
Monomorphization drops a reference type lifetime proof before borrow validation · case 02
Monomorphization drops a reference type lifetime proof before borrow validation.
Monomorphization drops a reference type lifetime proof before borrow validation · case 03
Monomorphization drops a reference type lifetime proof before borrow validation.
Monomorphization drops a reference type lifetime proof before borrow validation · case 04
Monomorphization drops a reference type lifetime proof before borrow validation.
Monomorphization drops a reference type lifetime proof before borrow validation · case 05
Monomorphization drops a reference type lifetime proof before borrow validation.
Borrow proof is reused after its defining IR revision changes · case 01
Borrow proof is reused after its defining IR revision changes.
Borrow proof is reused after its defining IR revision changes · case 02
Borrow proof is reused after its defining IR revision changes.
Borrow proof is reused after its defining IR revision changes · case 03
Borrow proof is reused after its defining IR revision changes.
Borrow proof is reused after its defining IR revision changes · case 04
Borrow proof is reused after its defining IR revision changes.
Borrow proof is reused after its defining IR revision changes · case 05
Borrow proof is reused after its defining IR revision changes.
Borrow proof cache keys only the owner root and confuses sibling projections · case 01
Borrow proof cache keys only the owner root and confuses sibling projections.
Borrow proof cache keys only the owner root and confuses sibling projections · case 02
Borrow proof cache keys only the owner root and confuses sibling projections.
Borrow proof cache keys only the owner root and confuses sibling projections · case 03
Borrow proof cache keys only the owner root and confuses sibling projections.
Borrow proof cache keys only the owner root and confuses sibling projections · case 04
Borrow proof cache keys only the owner root and confuses sibling projections.
Borrow proof cache keys only the owner root and confuses sibling projections · case 05
Borrow proof cache keys only the owner root and confuses sibling projections.
Shared-borrow proof is reused to authorize an exclusive borrow · case 01
Shared-borrow proof is reused to authorize an exclusive borrow.
Shared-borrow proof is reused to authorize an exclusive borrow · case 02
Shared-borrow proof is reused to authorize an exclusive borrow.
Shared-borrow proof is reused to authorize an exclusive borrow · case 03
Shared-borrow proof is reused to authorize an exclusive borrow.
Shared-borrow proof is reused to authorize an exclusive borrow · case 04
Shared-borrow proof is reused to authorize an exclusive borrow.
Shared-borrow proof is reused to authorize an exclusive borrow · case 05
Shared-borrow proof is reused to authorize an exclusive borrow.
Borrow proof reuse compares generic names but ignores actual lifetime substitution · case 01
Borrow proof reuse compares generic names but ignores actual lifetime substitution.
Borrow proof reuse compares generic names but ignores actual lifetime substitution · case 02
Borrow proof reuse compares generic names but ignores actual lifetime substitution.
Borrow proof reuse compares generic names but ignores actual lifetime substitution · case 03
Borrow proof reuse compares generic names but ignores actual lifetime substitution.
Borrow proof reuse compares generic names but ignores actual lifetime substitution · case 04
Borrow proof reuse compares generic names but ignores actual lifetime substitution.
Borrow proof reuse compares generic names but ignores actual lifetime substitution · case 05
Borrow proof reuse compares generic names but ignores actual lifetime substitution.
A lifetime proof leaks from an earlier solver universe into a fresh placeholder universe · case 01
A lifetime proof leaks from an earlier solver universe into a fresh placeholder universe.
A lifetime proof leaks from an earlier solver universe into a fresh placeholder universe · case 02
A lifetime proof leaks from an earlier solver universe into a fresh placeholder universe.
A lifetime proof leaks from an earlier solver universe into a fresh placeholder universe · case 03
A lifetime proof leaks from an earlier solver universe into a fresh placeholder universe.
A lifetime proof leaks from an earlier solver universe into a fresh placeholder universe · case 04
A lifetime proof leaks from an earlier solver universe into a fresh placeholder universe.
A lifetime proof leaks from an earlier solver universe into a fresh placeholder universe · case 05
A lifetime proof leaks from an earlier solver universe into a fresh placeholder universe.
Normal-edge loan proof is reused on an unwind or cancellation edge · case 01
Normal-edge loan proof is reused on an unwind or cancellation edge.
Normal-edge loan proof is reused on an unwind or cancellation edge · case 02
Normal-edge loan proof is reused on an unwind or cancellation edge.
Normal-edge loan proof is reused on an unwind or cancellation edge · case 03
Normal-edge loan proof is reused on an unwind or cancellation edge.
Normal-edge loan proof is reused on an unwind or cancellation edge · case 04
Normal-edge loan proof is reused on an unwind or cancellation edge.
Normal-edge loan proof is reused on an unwind or cancellation edge · case 05
Normal-edge loan proof is reused on an unwind or cancellation edge.
Projection-disjointness proof is reused after field offsets change · case 01
Projection-disjointness proof is reused after field offsets change.
Projection-disjointness proof is reused after field offsets change · case 02
Projection-disjointness proof is reused after field offsets change.
Projection-disjointness proof is reused after field offsets change · case 03
Projection-disjointness proof is reused after field offsets change.
Projection-disjointness proof is reused after field offsets change · case 04
Projection-disjointness proof is reused after field offsets change.
Projection-disjointness proof is reused after field offsets change · case 05
Projection-disjointness proof is reused after field offsets change.
A cached failed lifetime proof is retained after new outlives facts could satisfy it · case 01
A cached failed lifetime proof is retained after new outlives facts could satisfy it.
A cached failed lifetime proof is retained after new outlives facts could satisfy it · case 02
A cached failed lifetime proof is retained after new outlives facts could satisfy it.
A cached failed lifetime proof is retained after new outlives facts could satisfy it · case 03
A cached failed lifetime proof is retained after new outlives facts could satisfy it.
A cached failed lifetime proof is retained after new outlives facts could satisfy it · case 04
A cached failed lifetime proof is retained after new outlives facts could satisfy it.
A cached failed lifetime proof is retained after new outlives facts could satisfy it · case 05
A cached failed lifetime proof is retained after new outlives facts could satisfy it.
An incomplete positive fixed-point borrow result is reused as final · case 01
An incomplete positive fixed-point borrow result is reused as final.
An incomplete positive fixed-point borrow result is reused as final · case 02
An incomplete positive fixed-point borrow result is reused as final.
An incomplete positive fixed-point borrow result is reused as final · case 03
An incomplete positive fixed-point borrow result is reused as final.
An incomplete positive fixed-point borrow result is reused as final · case 04
An incomplete positive fixed-point borrow result is reused as final.
An incomplete positive fixed-point borrow result is reused as final · case 05
An incomplete positive fixed-point borrow result is reused as final.
Cached borrow diagnostics retain source spans from a different lifetime occurrence · case 01
Cached borrow diagnostics retain source spans from a different lifetime occurrence.
Cached borrow diagnostics retain source spans from a different lifetime occurrence · case 02
Cached borrow diagnostics retain source spans from a different lifetime occurrence.
Cached borrow diagnostics retain source spans from a different lifetime occurrence · case 03
Cached borrow diagnostics retain source spans from a different lifetime occurrence.
Cached borrow diagnostics retain source spans from a different lifetime occurrence · case 04
Cached borrow diagnostics retain source spans from a different lifetime occurrence.
Cached borrow diagnostics retain source spans from a different lifetime occurrence · case 05
Cached borrow diagnostics retain source spans from a different lifetime occurrence.
For-loop desugaring drops its borrowed iterator before loop completion · case 01
For-loop desugaring drops its borrowed iterator before loop completion.
For-loop desugaring drops its borrowed iterator before loop completion · case 02
For-loop desugaring drops its borrowed iterator before loop completion.
For-loop desugaring drops its borrowed iterator before loop completion · case 03
For-loop desugaring drops its borrowed iterator before loop completion.
For-loop desugaring drops its borrowed iterator before loop completion · case 04
For-loop desugaring drops its borrowed iterator before loop completion.
For-loop desugaring drops its borrowed iterator before loop completion · case 05
For-loop desugaring drops its borrowed iterator before loop completion.
Question-mark early return retains a body-local borrow · case 01
Question-mark early return retains a body-local borrow.
Question-mark early return retains a body-local borrow · case 02
Question-mark early return retains a body-local borrow.
Question-mark early return retains a body-local borrow · case 03
Question-mark early return retains a body-local borrow.
Question-mark early return retains a body-local borrow · case 04
Question-mark early return retains a body-local borrow.
Question-mark early return retains a body-local borrow · case 05
Question-mark early return retains a body-local borrow.
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 ↗