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 shared reference incorrectly makes its referent lifetime invariant · case 01
A shared reference incorrectly makes its referent lifetime invariant.
A shared reference incorrectly makes its referent lifetime invariant · case 02
A shared reference incorrectly makes its referent lifetime invariant.
A shared reference incorrectly makes its referent lifetime invariant · case 03
A shared reference incorrectly makes its referent lifetime invariant.
A shared reference incorrectly makes its referent lifetime invariant · case 04
A shared reference incorrectly makes its referent lifetime invariant.
A shared reference incorrectly makes its referent lifetime invariant · case 05
A shared reference incorrectly makes its referent lifetime invariant.
Mutable reference lifetime is frozen together with its invariant payload · case 01
Mutable reference lifetime is frozen together with its invariant payload.
Mutable reference lifetime is frozen together with its invariant payload · case 02
Mutable reference lifetime is frozen together with its invariant payload.
Mutable reference lifetime is frozen together with its invariant payload · case 03
Mutable reference lifetime is frozen together with its invariant payload.
Mutable reference lifetime is frozen together with its invariant payload · case 04
Mutable reference lifetime is frozen together with its invariant payload.
Mutable reference lifetime is frozen together with its invariant payload · case 05
Mutable reference lifetime is frozen together with its invariant payload.
Function result variance is flipped along with the argument · case 01
Function result variance is flipped along with the argument.
Function result variance is flipped along with the argument · case 02
Function result variance is flipped along with the argument.
Function result variance is flipped along with the argument · case 03
Function result variance is flipped along with the argument.
Function result variance is flipped along with the argument · case 04
Function result variance is flipped along with the argument.
Function result variance is flipped along with the argument · case 05
Function result variance is flipped along with the argument.
Variance inference omits the last tuple field · case 01
Variance inference omits the last tuple field.
Variance inference omits the last tuple field · case 02
Variance inference omits the last tuple field.
Variance inference omits the last tuple field · case 03
Variance inference omits the last tuple field.
Variance inference omits the last tuple field · case 04
Variance inference omits the last tuple field.
Variance inference omits the last tuple field · case 05
Variance inference omits the last tuple field.
Interior mutable storage contributes no invariance constraint · case 01
Interior mutable storage contributes no invariance constraint.
Interior mutable storage contributes no invariance constraint · case 02
Interior mutable storage contributes no invariance constraint.
Interior mutable storage contributes no invariance constraint · case 03
Interior mutable storage contributes no invariance constraint.
Interior mutable storage contributes no invariance constraint · case 04
Interior mutable storage contributes no invariance constraint.
Interior mutable storage contributes no invariance constraint · case 05
Interior mutable storage contributes no invariance constraint.
A phantom ownership marker incorrectly freezes lifetime covariance · case 01
A phantom ownership marker incorrectly freezes lifetime covariance.
A phantom ownership marker incorrectly freezes lifetime covariance · case 02
A phantom ownership marker incorrectly freezes lifetime covariance.
A phantom ownership marker incorrectly freezes lifetime covariance · case 03
A phantom ownership marker incorrectly freezes lifetime covariance.
A phantom ownership marker incorrectly freezes lifetime covariance · case 04
A phantom ownership marker incorrectly freezes lifetime covariance.
A phantom ownership marker incorrectly freezes lifetime covariance · case 05
A phantom ownership marker incorrectly freezes lifetime covariance.
Opaque type variance records only one of its captured lifetime parameters · case 01
Opaque type variance records only one of its captured lifetime parameters.
Opaque type variance records only one of its captured lifetime parameters · case 02
Opaque type variance records only one of its captured lifetime parameters.
Opaque type variance records only one of its captured lifetime parameters · case 03
Opaque type variance records only one of its captured lifetime parameters.
Opaque type variance records only one of its captured lifetime parameters · case 04
Opaque type variance records only one of its captured lifetime parameters.
Opaque type variance records only one of its captured lifetime parameters · case 05
Opaque type variance records only one of its captured lifetime parameters.
Repeated covariant and contravariant occurrences fail to join to invariance · case 01
Repeated covariant and contravariant occurrences fail to join to invariance.
Repeated covariant and contravariant occurrences fail to join to invariance · case 02
Repeated covariant and contravariant occurrences fail to join to invariance.
Repeated covariant and contravariant occurrences fail to join to invariance · case 03
Repeated covariant and contravariant occurrences fail to join to invariance.
Repeated covariant and contravariant occurrences fail to join to invariance · case 04
Repeated covariant and contravariant occurrences fail to join to invariance.
Repeated covariant and contravariant occurrences fail to join to invariance · case 05
Repeated covariant and contravariant occurrences fail to join to invariance.
The first out-of-range bound lifetime is accepted at the binder arity · case 01
The first out-of-range bound lifetime is accepted at the binder arity.
The first out-of-range bound lifetime is accepted at the binder arity · case 02
The first out-of-range bound lifetime is accepted at the binder arity.
The first out-of-range bound lifetime is accepted at the binder arity · case 03
The first out-of-range bound lifetime is accepted at the binder arity.
The first out-of-range bound lifetime is accepted at the binder arity · case 04
The first out-of-range bound lifetime is accepted at the binder arity.
The first out-of-range bound lifetime is accepted at the binder arity · case 05
The first out-of-range bound lifetime is accepted at the binder arity.
Lifetime substitution fails to shift free indices across a nested binder · case 01
Lifetime substitution fails to shift free indices across a nested binder.
Lifetime substitution fails to shift free indices across a nested binder · case 02
Lifetime substitution fails to shift free indices across a nested binder.
Lifetime substitution fails to shift free indices across a nested binder · case 03
Lifetime substitution fails to shift free indices across a nested binder.
Lifetime substitution fails to shift free indices across a nested binder · case 04
Lifetime substitution fails to shift free indices across a nested binder.
Lifetime substitution fails to shift free indices across a nested binder · case 05
Lifetime substitution fails to shift free indices across a nested binder.
Higher-ranked instantiation reuses the caller universe · case 01
Higher-ranked instantiation reuses the caller universe.
Higher-ranked instantiation reuses the caller universe · case 02
Higher-ranked instantiation reuses the caller universe.
Higher-ranked instantiation reuses the caller universe · case 03
Higher-ranked instantiation reuses the caller universe.
Higher-ranked instantiation reuses the caller universe · case 04
Higher-ranked instantiation reuses the caller universe.
Higher-ranked instantiation reuses the caller universe · case 05
Higher-ranked instantiation reuses the caller universe.
An existential lifetime captures a placeholder from the next universe · case 01
An existential lifetime captures a placeholder from the next universe.
An existential lifetime captures a placeholder from the next universe · case 02
An existential lifetime captures a placeholder from the next universe.
An existential lifetime captures a placeholder from the next universe · case 03
An existential lifetime captures a placeholder from the next universe.
An existential lifetime captures a placeholder from the next universe · case 04
An existential lifetime captures a placeholder from the next universe.
An existential lifetime captures a placeholder from the next universe · case 05
An existential lifetime captures a placeholder from the next universe.
A higher-ranked obligation is checked for only one bound parameter · case 01
A higher-ranked obligation is checked for only one bound parameter.
A higher-ranked obligation is checked for only one bound parameter · case 02
A higher-ranked obligation is checked for only one bound parameter.
A higher-ranked obligation is checked for only one bound parameter · case 03
A higher-ranked obligation is checked for only one bound parameter.
A higher-ranked obligation is checked for only one bound parameter · case 04
A higher-ranked obligation is checked for only one bound parameter.
A higher-ranked obligation is checked for only one bound parameter · case 05
A higher-ranked obligation is checked for only one bound parameter.
Alpha-renaming splits equal bound lifetime occurrences · case 01
Alpha-renaming splits equal bound lifetime occurrences.
Alpha-renaming splits equal bound lifetime occurrences · case 02
Alpha-renaming splits equal bound lifetime occurrences.
Alpha-renaming splits equal bound lifetime occurrences · case 03
Alpha-renaming splits equal bound lifetime occurrences.
Alpha-renaming splits equal bound lifetime occurrences · case 04
Alpha-renaming splits equal bound lifetime occurrences.
Alpha-renaming splits equal bound lifetime occurrences · case 05
Alpha-renaming splits equal bound lifetime occurrences.
Alpha-renaming merges distinct bound lifetime parameters · case 01
Alpha-renaming merges distinct bound lifetime parameters.
Alpha-renaming merges distinct bound lifetime parameters · case 02
Alpha-renaming merges distinct bound lifetime parameters.
Alpha-renaming merges distinct bound lifetime parameters · case 03
Alpha-renaming merges distinct bound lifetime parameters.
Alpha-renaming merges distinct bound lifetime parameters · case 04
Alpha-renaming merges distinct bound lifetime parameters.
Alpha-renaming merges distinct bound lifetime parameters · case 05
Alpha-renaming merges distinct bound lifetime parameters.
Removing a binder leaves outer lifetime indices off by one · case 01
Removing a binder leaves outer lifetime indices off by one.
Removing a binder leaves outer lifetime indices off by one · case 02
Removing a binder leaves outer lifetime indices off by one.
Removing a binder leaves outer lifetime indices off by one · case 03
Removing a binder leaves outer lifetime indices off by one.
Removing a binder leaves outer lifetime indices off by one · case 04
Removing a binder leaves outer lifetime indices off by one.
Removing a binder leaves outer lifetime indices off by one · case 05
Removing a binder leaves outer lifetime indices off by one.
A universal lifetime placeholder is replaced by static storage · case 01
A universal lifetime placeholder is replaced by static storage.
A universal lifetime placeholder is replaced by static storage · case 02
A universal lifetime placeholder is replaced by static storage.
A universal lifetime placeholder is replaced by static storage · case 03
A universal lifetime placeholder is replaced by static storage.
A universal lifetime placeholder is replaced by static storage · case 04
A universal lifetime placeholder is replaced by static storage.
A universal lifetime placeholder is replaced by static storage · case 05
A universal lifetime placeholder is replaced by static storage.
One concrete lifetime instantiation is mistaken for a universal proof · case 01
One concrete lifetime instantiation is mistaken for a universal proof.
One concrete lifetime instantiation is mistaken for a universal proof · case 02
One concrete lifetime instantiation is mistaken for a universal proof.
One concrete lifetime instantiation is mistaken for a universal proof · case 03
One concrete lifetime instantiation is mistaken for a universal proof.
One concrete lifetime instantiation is mistaken for a universal proof · case 04
One concrete lifetime instantiation is mistaken for a universal proof.
One concrete lifetime instantiation is mistaken for a universal proof · case 05
One concrete lifetime instantiation is mistaken for a universal proof.
Trait erasure changes the referent lifetime while preserving its size · case 01
Trait erasure changes the referent lifetime while preserving its size.
Trait erasure changes the referent lifetime while preserving its size · case 02
Trait erasure changes the referent lifetime while preserving its size.
Trait erasure changes the referent lifetime while preserving its size · case 03
Trait erasure changes the referent lifetime while preserving its size.
Trait erasure changes the referent lifetime while preserving its size · case 04
Trait erasure changes the referent lifetime while preserving its size.
Trait erasure changes the referent lifetime while preserving its size · case 05
Trait erasure changes the referent lifetime while preserving its size.
Erasing a shared borrow manufactures exclusive trait-object access · case 01
Erasing a shared borrow manufactures exclusive trait-object access.
Erasing a shared borrow manufactures exclusive trait-object access · case 02
Erasing a shared borrow manufactures exclusive trait-object access.
Erasing a shared borrow manufactures exclusive trait-object access · case 03
Erasing a shared borrow manufactures exclusive trait-object access.
Erasing a shared borrow manufactures exclusive trait-object access · case 04
Erasing a shared borrow manufactures exclusive trait-object access.
Erasing a shared borrow manufactures exclusive trait-object access · case 05
Erasing a shared borrow manufactures exclusive trait-object access.
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 ↗