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
A borrowed trait object defaults to a lifetime unrelated to its outer reference · case 01
A borrowed trait object defaults to a lifetime unrelated to its outer reference.
A borrowed trait object defaults to a lifetime unrelated to its outer reference · case 02
A borrowed trait object defaults to a lifetime unrelated to its outer reference.
A borrowed trait object defaults to a lifetime unrelated to its outer reference · case 03
A borrowed trait object defaults to a lifetime unrelated to its outer reference.
A borrowed trait object defaults to a lifetime unrelated to its outer reference · case 04
A borrowed trait object defaults to a lifetime unrelated to its outer reference.
A borrowed trait object defaults to a lifetime unrelated to its outer reference · case 05
A borrowed trait object defaults to a lifetime unrelated to its outer reference.
Dynamic method return provenance is missing from the erased dispatch summary · case 01
Dynamic method return provenance is missing from the erased dispatch summary.
Dynamic method return provenance is missing from the erased dispatch summary · case 02
Dynamic method return provenance is missing from the erased dispatch summary.
Dynamic method return provenance is missing from the erased dispatch summary · case 03
Dynamic method return provenance is missing from the erased dispatch summary.
Dynamic method return provenance is missing from the erased dispatch summary · case 04
Dynamic method return provenance is missing from the erased dispatch summary.
Dynamic method return provenance is missing from the erased dispatch summary · case 05
Dynamic method return provenance is missing from the erased dispatch summary.
A mutable dynamic method is callable through a shared object borrow · case 01
A mutable dynamic method is callable through a shared object borrow.
A mutable dynamic method is callable through a shared object borrow · case 02
A mutable dynamic method is callable through a shared object borrow.
A mutable dynamic method is callable through a shared object borrow · case 03
A mutable dynamic method is callable through a shared object borrow.
A mutable dynamic method is callable through a shared object borrow · case 04
A mutable dynamic method is callable through a shared object borrow.
A mutable dynamic method is callable through a shared object borrow · case 05
A mutable dynamic method is callable through a shared object borrow.
Trait upcasting changes valid borrow points instead of only reducing interface · case 01
Trait upcasting changes valid borrow points instead of only reducing interface.
Trait upcasting changes valid borrow points instead of only reducing interface · case 02
Trait upcasting changes valid borrow points instead of only reducing interface.
Trait upcasting changes valid borrow points instead of only reducing interface · case 03
Trait upcasting changes valid borrow points instead of only reducing interface.
Trait upcasting changes valid borrow points instead of only reducing interface · case 04
Trait upcasting changes valid borrow points instead of only reducing interface.
Trait upcasting changes valid borrow points instead of only reducing interface · case 05
Trait upcasting changes valid borrow points instead of only reducing interface.
Trait upcasting substitutes vtable identity for referent allocation identity · case 01
Trait upcasting substitutes vtable identity for referent allocation identity.
Trait upcasting substitutes vtable identity for referent allocation identity · case 02
Trait upcasting substitutes vtable identity for referent allocation identity.
Trait upcasting substitutes vtable identity for referent allocation identity · case 03
Trait upcasting substitutes vtable identity for referent allocation identity.
Trait upcasting substitutes vtable identity for referent allocation identity · case 04
Trait upcasting substitutes vtable identity for referent allocation identity.
Trait upcasting substitutes vtable identity for referent allocation identity · case 05
Trait upcasting substitutes vtable identity for referent allocation identity.
Thin object lowering drops the borrowed lifetime witness · case 01
Thin object lowering drops the borrowed lifetime witness.
Thin object lowering drops the borrowed lifetime witness · case 02
Thin object lowering drops the borrowed lifetime witness.
Thin object lowering drops the borrowed lifetime witness · case 03
Thin object lowering drops the borrowed lifetime witness.
Thin object lowering drops the borrowed lifetime witness · case 04
Thin object lowering drops the borrowed lifetime witness.
Thin object lowering drops the borrowed lifetime witness · case 05
Thin object lowering drops the borrowed lifetime witness.
A method-local lifetime binder escapes through an associated borrowed output · case 01
A method-local lifetime binder escapes through an associated borrowed output.
A method-local lifetime binder escapes through an associated borrowed output · case 02
A method-local lifetime binder escapes through an associated borrowed output.
A method-local lifetime binder escapes through an associated borrowed output · case 03
A method-local lifetime binder escapes through an associated borrowed output.
A method-local lifetime binder escapes through an associated borrowed output · case 04
A method-local lifetime binder escapes through an associated borrowed output.
A method-local lifetime binder escapes through an associated borrowed output · case 05
A method-local lifetime binder escapes through an associated borrowed output.
Erased destructor summaries omit an observed borrowed field · case 01
Erased destructor summaries omit an observed borrowed field.
Erased destructor summaries omit an observed borrowed field · case 02
Erased destructor summaries omit an observed borrowed field.
Erased destructor summaries omit an observed borrowed field · case 03
Erased destructor summaries omit an observed borrowed field.
Erased destructor summaries omit an observed borrowed field · case 04
Erased destructor summaries omit an observed borrowed field.
Erased destructor summaries omit an observed borrowed field · case 05
Erased destructor summaries omit an observed borrowed field.
A destructor observes a referent one step after its storage expires · case 01
A destructor observes a referent one step after its storage expires.
A destructor observes a referent one step after its storage expires · case 02
A destructor observes a referent one step after its storage expires.
A destructor observes a referent one step after its storage expires · case 03
A destructor observes a referent one step after its storage expires.
A destructor observes a referent one step after its storage expires · case 04
A destructor observes a referent one step after its storage expires.
A destructor observes a referent one step after its storage expires · case 05
A destructor observes a referent one step after its storage expires.
Borrow-dependent fields are destroyed in a reordered declaration sequence · case 01
Borrow-dependent fields are destroyed in a reordered declaration sequence.
Borrow-dependent fields are destroyed in a reordered declaration sequence · case 02
Borrow-dependent fields are destroyed in a reordered declaration sequence.
Borrow-dependent fields are destroyed in a reordered declaration sequence · case 03
Borrow-dependent fields are destroyed in a reordered declaration sequence.
Borrow-dependent fields are destroyed in a reordered declaration sequence · case 04
Borrow-dependent fields are destroyed in a reordered declaration sequence.
Borrow-dependent fields are destroyed in a reordered declaration sequence · case 05
Borrow-dependent fields are destroyed in a reordered declaration sequence.
Manually dropping one field clears a sibling destructor obligation · case 01
Manually dropping one field clears a sibling destructor obligation.
Manually dropping one field clears a sibling destructor obligation · case 02
Manually dropping one field clears a sibling destructor obligation.
Manually dropping one field clears a sibling destructor obligation · case 03
Manually dropping one field clears a sibling destructor obligation.
Manually dropping one field clears a sibling destructor obligation · case 04
Manually dropping one field clears a sibling destructor obligation.
Manually dropping one field clears a sibling destructor obligation · case 05
Manually dropping one field clears a sibling destructor obligation.
A lifetime parameter observed by the destructor is incorrectly allowed to dangle · case 01
A lifetime parameter observed by the destructor is incorrectly allowed to dangle.
A lifetime parameter observed by the destructor is incorrectly allowed to dangle · case 02
A lifetime parameter observed by the destructor is incorrectly allowed to dangle.
A lifetime parameter observed by the destructor is incorrectly allowed to dangle · case 03
A lifetime parameter observed by the destructor is incorrectly allowed to dangle.
A lifetime parameter observed by the destructor is incorrectly allowed to dangle · case 04
A lifetime parameter observed by the destructor is incorrectly allowed to dangle.
A lifetime parameter observed by the destructor is incorrectly allowed to dangle · case 05
A lifetime parameter observed by the destructor is incorrectly allowed to dangle.
An owning phantom parameter is omitted from transitive drop checking · case 01
An owning phantom parameter is omitted from transitive drop checking.
An owning phantom parameter is omitted from transitive drop checking · case 02
An owning phantom parameter is omitted from transitive drop checking.
An owning phantom parameter is omitted from transitive drop checking · case 03
An owning phantom parameter is omitted from transitive drop checking.
An owning phantom parameter is omitted from transitive drop checking · case 04
An owning phantom parameter is omitted from transitive drop checking.
An owning phantom parameter is omitted from transitive drop checking · case 05
An owning phantom parameter is omitted from transitive drop checking.
A singleton array loses its element destructor lifetime obligation · case 01
A singleton array loses its element destructor lifetime obligation.
A singleton array loses its element destructor lifetime obligation · case 02
A singleton array loses its element destructor lifetime obligation.
A singleton array loses its element destructor lifetime obligation · case 03
A singleton array loses its element destructor lifetime obligation.
A singleton array loses its element destructor lifetime obligation · case 04
A singleton array loses its element destructor lifetime obligation.
A singleton array loses its element destructor lifetime obligation · case 05
A singleton array loses its element destructor lifetime obligation.
A single moved field leaves a custom destructor with an invalid whole receiver · case 01
A single moved field leaves a custom destructor with an invalid whole receiver.
A single moved field leaves a custom destructor with an invalid whole receiver · case 02
A single moved field leaves a custom destructor with an invalid whole receiver.
A single moved field leaves a custom destructor with an invalid whole receiver · case 03
A single moved field leaves a custom destructor with an invalid whole receiver.
A single moved field leaves a custom destructor with an invalid whole receiver · case 04
A single moved field leaves a custom destructor with an invalid whole receiver.
A single moved field leaves a custom destructor with an invalid whole receiver · case 05
A single moved field leaves a custom destructor with an invalid whole receiver.
Recursive drop analysis memoizes by type name without lifetime substitution · case 01
Recursive drop analysis memoizes by type name without lifetime substitution.
Recursive drop analysis memoizes by type name without lifetime substitution · case 02
Recursive drop analysis memoizes by type name without lifetime substitution.
Recursive drop analysis memoizes by type name without lifetime substitution · case 03
Recursive drop analysis memoizes by type name without lifetime substitution.
Recursive drop analysis memoizes by type name without lifetime substitution · case 04
Recursive drop analysis memoizes by type name without lifetime substitution.
Recursive drop analysis memoizes by type name without lifetime substitution · case 05
Recursive drop analysis memoizes by type name without lifetime substitution.
Unwinding drops an uninitialized field and invents borrow obligations · case 01
Unwinding drops an uninitialized field and invents borrow obligations.
Unwinding drops an uninitialized field and invents borrow obligations · case 02
Unwinding drops an uninitialized field and invents borrow obligations.
Unwinding drops an uninitialized field and invents borrow obligations · case 03
Unwinding drops an uninitialized field and invents borrow obligations.
Unwinding drops an uninitialized field and invents borrow obligations · case 04
Unwinding drops an uninitialized field and invents borrow obligations.
Unwinding drops an uninitialized field and invents borrow obligations · case 05
Unwinding drops an uninitialized field and invents borrow obligations.
Destructor receiver exclusivity ends before the final destructor operation · case 01
Destructor receiver exclusivity ends before the final destructor operation.
Destructor receiver exclusivity ends before the final destructor operation · case 02
Destructor receiver exclusivity ends before the final destructor operation.
Destructor receiver exclusivity ends before the final destructor operation · case 03
Destructor receiver exclusivity ends before the final destructor operation.
Destructor receiver exclusivity ends before the final destructor operation · case 04
Destructor receiver exclusivity ends before the final destructor operation.
Destructor receiver exclusivity ends before the final destructor operation · case 05
Destructor receiver exclusivity ends before the final destructor operation.
A sole move of a structurally pinned value is accepted · case 01
A sole move of a structurally pinned value is accepted.
A sole move of a structurally pinned value is accepted · case 02
A sole move of a structurally pinned value is accepted.
A sole move of a structurally pinned value is accepted · case 03
A sole move of a structurally pinned value is accepted.
A sole move of a structurally pinned value is accepted · case 04
A sole move of a structurally pinned value is accepted.
A sole move of a structurally pinned value is accepted · case 05
A sole move of a structurally pinned value is accepted.
Pin projection assumes undeclared sibling fields are structurally pinned · case 01
Pin projection assumes undeclared sibling fields are structurally pinned.
Pin projection assumes undeclared sibling fields are structurally pinned · case 02
Pin projection assumes undeclared sibling fields are structurally pinned.
Pin projection assumes undeclared sibling fields are structurally pinned · case 03
Pin projection assumes undeclared sibling fields are structurally pinned.
Pin projection assumes undeclared sibling fields are structurally pinned · case 04
Pin projection assumes undeclared sibling fields are structurally pinned.
Pin projection assumes undeclared sibling fields are structurally pinned · case 05
Pin projection assumes undeclared sibling fields are structurally pinned.
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 ↗