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
Struct spread overwrites an explicit borrowed field origin · case 01
Struct spread overwrites an explicit borrowed field origin.
Struct spread overwrites an explicit borrowed field origin · case 02
Struct spread overwrites an explicit borrowed field origin.
Struct spread overwrites an explicit borrowed field origin · case 03
Struct spread overwrites an explicit borrowed field origin.
Struct spread overwrites an explicit borrowed field origin · case 04
Struct spread overwrites an explicit borrowed field origin.
Struct spread overwrites an explicit borrowed field origin · case 05
Struct spread overwrites an explicit borrowed field origin.
Partial aggregate cleanup destroys owners before later initialized borrowers · case 01
Partial aggregate cleanup destroys owners before later initialized borrowers.
Partial aggregate cleanup destroys owners before later initialized borrowers · case 02
Partial aggregate cleanup destroys owners before later initialized borrowers.
Partial aggregate cleanup destroys owners before later initialized borrowers · case 03
Partial aggregate cleanup destroys owners before later initialized borrowers.
Partial aggregate cleanup destroys owners before later initialized borrowers · case 04
Partial aggregate cleanup destroys owners before later initialized borrowers.
Partial aggregate cleanup destroys owners before later initialized borrowers · case 05
Partial aggregate cleanup destroys owners before later initialized borrowers.
Lowered borrowed field points to another field expression origin · case 01
Lowered borrowed field points to another field expression origin.
Lowered borrowed field points to another field expression origin · case 02
Lowered borrowed field points to another field expression origin.
Lowered borrowed field points to another field expression origin · case 03
Lowered borrowed field points to another field expression origin.
Lowered borrowed field points to another field expression origin · case 04
Lowered borrowed field points to another field expression origin.
Lowered borrowed field points to another field expression origin · case 05
Lowered borrowed field points to another field expression origin.
Aggregate spread copies a unique reference instead of moving its capability · case 01
Aggregate spread copies a unique reference instead of moving its capability.
Aggregate spread copies a unique reference instead of moving its capability · case 02
Aggregate spread copies a unique reference instead of moving its capability.
Aggregate spread copies a unique reference instead of moving its capability · case 03
Aggregate spread copies a unique reference instead of moving its capability.
Aggregate spread copies a unique reference instead of moving its capability · case 04
Aggregate spread copies a unique reference instead of moving its capability.
Aggregate spread copies a unique reference instead of moving its capability · case 05
Aggregate spread copies a unique reference instead of moving its capability.
Tuple lowering swaps borrow origins between positional fields · case 01
Tuple lowering swaps borrow origins between positional fields.
Tuple lowering swaps borrow origins between positional fields · case 02
Tuple lowering swaps borrow origins between positional fields.
Tuple lowering swaps borrow origins between positional fields · case 03
Tuple lowering swaps borrow origins between positional fields.
Tuple lowering swaps borrow origins between positional fields · case 04
Tuple lowering swaps borrow origins between positional fields.
Tuple lowering swaps borrow origins between positional fields · case 05
Tuple lowering swaps borrow origins between positional fields.
Enum construction attaches a payload borrow to the wrong variant · case 01
Enum construction attaches a payload borrow to the wrong variant.
Enum construction attaches a payload borrow to the wrong variant · case 02
Enum construction attaches a payload borrow to the wrong variant.
Enum construction attaches a payload borrow to the wrong variant · case 03
Enum construction attaches a payload borrow to the wrong variant.
Enum construction attaches a payload borrow to the wrong variant · case 04
Enum construction attaches a payload borrow to the wrong variant.
Enum construction attaches a payload borrow to the wrong variant · case 05
Enum construction attaches a payload borrow to the wrong variant.
Moving an aggregate fails to transfer a contained reference slot · case 01
Moving an aggregate fails to transfer a contained reference slot.
Moving an aggregate fails to transfer a contained reference slot · case 02
Moving an aggregate fails to transfer a contained reference slot.
Moving an aggregate fails to transfer a contained reference slot · case 03
Moving an aggregate fails to transfer a contained reference slot.
Moving an aggregate fails to transfer a contained reference slot · case 04
Moving an aggregate fails to transfer a contained reference slot.
Moving an aggregate fails to transfer a contained reference slot · case 05
Moving an aggregate fails to transfer a contained reference slot.
Empty aggregate lowering invents a borrowed field capability · case 01
Empty aggregate lowering invents a borrowed field capability.
Empty aggregate lowering invents a borrowed field capability · case 02
Empty aggregate lowering invents a borrowed field capability.
Empty aggregate lowering invents a borrowed field capability · case 03
Empty aggregate lowering invents a borrowed field capability.
Empty aggregate lowering invents a borrowed field capability · case 04
Empty aggregate lowering invents a borrowed field capability.
Empty aggregate lowering invents a borrowed field capability · case 05
Empty aggregate lowering invents a borrowed field capability.
A one-shot continuation can be resumed twice · case 01
A one-shot continuation can be resumed twice.
A one-shot continuation can be resumed twice · case 02
A one-shot continuation can be resumed twice.
A one-shot continuation can be resumed twice · case 03
A one-shot continuation can be resumed twice.
A one-shot continuation can be resumed twice · case 04
A one-shot continuation can be resumed twice.
A one-shot continuation can be resumed twice · case 05
A one-shot continuation can be resumed twice.
Aborting a continuation leaves its captured borrow live · case 01
Aborting a continuation leaves its captured borrow live.
Aborting a continuation leaves its captured borrow live · case 02
Aborting a continuation leaves its captured borrow live.
Aborting a continuation leaves its captured borrow live · case 03
Aborting a continuation leaves its captured borrow live.
Aborting a continuation leaves its captured borrow live · case 04
Aborting a continuation leaves its captured borrow live.
Aborting a continuation leaves its captured borrow live · case 05
Aborting a continuation leaves its captured borrow live.
An escaping continuation retains a borrow into its removed capture frame · case 01
An escaping continuation retains a borrow into its removed capture frame.
An escaping continuation retains a borrow into its removed capture frame · case 02
An escaping continuation retains a borrow into its removed capture frame.
An escaping continuation retains a borrow into its removed capture frame · case 03
An escaping continuation retains a borrow into its removed capture frame.
An escaping continuation retains a borrow into its removed capture frame · case 04
An escaping continuation retains a borrow into its removed capture frame.
An escaping continuation retains a borrow into its removed capture frame · case 05
An escaping continuation retains a borrow into its removed capture frame.
Continuation cloning duplicates a unique captured reference · case 01
Continuation cloning duplicates a unique captured reference.
Continuation cloning duplicates a unique captured reference · case 02
Continuation cloning duplicates a unique captured reference.
Continuation cloning duplicates a unique captured reference · case 03
Continuation cloning duplicates a unique captured reference.
Continuation cloning duplicates a unique captured reference · case 04
Continuation cloning duplicates a unique captured reference.
Continuation cloning duplicates a unique captured reference · case 05
Continuation cloning duplicates a unique captured reference.
Continuation resumption restores only one suspended borrowed capability · case 01
Continuation resumption restores only one suspended borrowed capability.
Continuation resumption restores only one suspended borrowed capability · case 02
Continuation resumption restores only one suspended borrowed capability.
Continuation resumption restores only one suspended borrowed capability · case 03
Continuation resumption restores only one suspended borrowed capability.
Continuation resumption restores only one suspended borrowed capability · case 04
Continuation resumption restores only one suspended borrowed capability.
Continuation resumption restores only one suspended borrowed capability · case 05
Continuation resumption restores only one suspended borrowed capability.
A resumed continuation uses its captured owner after storage expiry · case 01
A resumed continuation uses its captured owner after storage expiry.
A resumed continuation uses its captured owner after storage expiry · case 02
A resumed continuation uses its captured owner after storage expiry.
A resumed continuation uses its captured owner after storage expiry · case 03
A resumed continuation uses its captured owner after storage expiry.
A resumed continuation uses its captured owner after storage expiry · case 04
A resumed continuation uses its captured owner after storage expiry.
A resumed continuation uses its captured owner after storage expiry · case 05
A resumed continuation uses its captured owner after storage expiry.
Continuation argument lowering transfers one owned value twice · case 01
Continuation argument lowering transfers one owned value twice.
Continuation argument lowering transfers one owned value twice · case 02
Continuation argument lowering transfers one owned value twice.
Continuation argument lowering transfers one owned value twice · case 03
Continuation argument lowering transfers one owned value twice.
Continuation argument lowering transfers one owned value twice · case 04
Continuation argument lowering transfers one owned value twice.
Continuation argument lowering transfers one owned value twice · case 05
Continuation argument lowering transfers one owned value twice.
A nested handler releases a loan captured by an outer continuation · case 01
A nested handler releases a loan captured by an outer continuation.
A nested handler releases a loan captured by an outer continuation · case 02
A nested handler releases a loan captured by an outer continuation.
A nested handler releases a loan captured by an outer continuation · case 03
A nested handler releases a loan captured by an outer continuation.
A nested handler releases a loan captured by an outer continuation · case 04
A nested handler releases a loan captured by an outer continuation.
A nested handler releases a loan captured by an outer continuation · case 05
A nested handler releases a loan captured by an outer continuation.
Unwinding preserves a continuation result borrowed from its destroyed frame · case 01
Unwinding preserves a continuation result borrowed from its destroyed frame.
Unwinding preserves a continuation result borrowed from its destroyed frame · case 02
Unwinding preserves a continuation result borrowed from its destroyed frame.
Unwinding preserves a continuation result borrowed from its destroyed frame · case 03
Unwinding preserves a continuation result borrowed from its destroyed frame.
Unwinding preserves a continuation result borrowed from its destroyed frame · case 04
Unwinding preserves a continuation result borrowed from its destroyed frame.
Unwinding preserves a continuation result borrowed from its destroyed frame · case 05
Unwinding preserves a continuation result borrowed from its destroyed frame.
A continuation result escapes from an origin absent in its borrow summary · case 01
A continuation result escapes from an origin absent in its borrow summary.
A continuation result escapes from an origin absent in its borrow summary · case 02
A continuation result escapes from an origin absent in its borrow summary.
A continuation result escapes from an origin absent in its borrow summary · case 03
A continuation result escapes from an origin absent in its borrow summary.
A continuation result escapes from an origin absent in its borrow summary · case 04
A continuation result escapes from an origin absent in its borrow summary.
A continuation result escapes from an origin absent in its borrow summary · case 05
A continuation result escapes from an origin absent in its borrow summary.
Generic instantiation silently ignores excess lifetime arguments · case 01
Generic instantiation silently ignores excess lifetime arguments.
Generic instantiation silently ignores excess lifetime arguments · case 02
Generic instantiation silently ignores excess lifetime arguments.
Generic instantiation silently ignores excess lifetime arguments · case 03
Generic instantiation silently ignores excess lifetime arguments.
Generic instantiation silently ignores excess lifetime arguments · case 04
Generic instantiation silently ignores excess lifetime arguments.
Generic instantiation silently ignores excess lifetime arguments · case 05
Generic instantiation silently ignores excess lifetime arguments.
Generic lifetime arguments are substituted into the wrong parameter positions · case 01
Generic lifetime arguments are substituted into the wrong parameter positions.
Generic lifetime arguments are substituted into the wrong parameter positions · case 02
Generic lifetime arguments are substituted into the wrong parameter positions.
Generic lifetime arguments are substituted into the wrong parameter positions · case 03
Generic lifetime arguments are substituted into the wrong parameter positions.
Generic lifetime arguments are substituted into the wrong parameter positions · case 04
Generic lifetime arguments are substituted into the wrong parameter positions.
Generic lifetime arguments are substituted into the wrong parameter positions · case 05
Generic lifetime arguments are substituted into the wrong parameter positions.
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 ↗