FAILURE MAP

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 ↗
100840Executable case variants
20168Distinct failure mechanisms
302520Executed implementations
20168Open-access cases

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

Python · Standard library
REFERENCEFAILURE MECHANISMDOMAINACCESS
FA-43501

A shared reference incorrectly makes its referent lifetime invariant · case 01

A shared reference incorrectly makes its referent lifetime invariant.

Borrow checking● Open access↗
FA-43502

A shared reference incorrectly makes its referent lifetime invariant · case 02

A shared reference incorrectly makes its referent lifetime invariant.

Borrow checking◈ Members↗
FA-43503

A shared reference incorrectly makes its referent lifetime invariant · case 03

A shared reference incorrectly makes its referent lifetime invariant.

Borrow checking◈ Members↗
FA-43504

A shared reference incorrectly makes its referent lifetime invariant · case 04

A shared reference incorrectly makes its referent lifetime invariant.

Borrow checking◈ Members↗
FA-43505

A shared reference incorrectly makes its referent lifetime invariant · case 05

A shared reference incorrectly makes its referent lifetime invariant.

Borrow checking◈ Members↗
FA-43506

Mutable reference lifetime is frozen together with its invariant payload · case 01

Mutable reference lifetime is frozen together with its invariant payload.

Borrow checking● Open access↗
FA-43507

Mutable reference lifetime is frozen together with its invariant payload · case 02

Mutable reference lifetime is frozen together with its invariant payload.

Borrow checking◈ Members↗
FA-43508

Mutable reference lifetime is frozen together with its invariant payload · case 03

Mutable reference lifetime is frozen together with its invariant payload.

Borrow checking◈ Members↗
FA-43509

Mutable reference lifetime is frozen together with its invariant payload · case 04

Mutable reference lifetime is frozen together with its invariant payload.

Borrow checking◈ Members↗
FA-43510

Mutable reference lifetime is frozen together with its invariant payload · case 05

Mutable reference lifetime is frozen together with its invariant payload.

Borrow checking◈ Members↗
FA-43511

Function result variance is flipped along with the argument · case 01

Function result variance is flipped along with the argument.

Borrow checking● Open access↗
FA-43512

Function result variance is flipped along with the argument · case 02

Function result variance is flipped along with the argument.

Borrow checking◈ Members↗
FA-43513

Function result variance is flipped along with the argument · case 03

Function result variance is flipped along with the argument.

Borrow checking◈ Members↗
FA-43514

Function result variance is flipped along with the argument · case 04

Function result variance is flipped along with the argument.

Borrow checking◈ Members↗
FA-43515

Function result variance is flipped along with the argument · case 05

Function result variance is flipped along with the argument.

Borrow checking◈ Members↗
FA-43516

Variance inference omits the last tuple field · case 01

Variance inference omits the last tuple field.

Borrow checking● Open access↗
FA-43517

Variance inference omits the last tuple field · case 02

Variance inference omits the last tuple field.

Borrow checking◈ Members↗
FA-43518

Variance inference omits the last tuple field · case 03

Variance inference omits the last tuple field.

Borrow checking◈ Members↗
FA-43519

Variance inference omits the last tuple field · case 04

Variance inference omits the last tuple field.

Borrow checking◈ Members↗
FA-43520

Variance inference omits the last tuple field · case 05

Variance inference omits the last tuple field.

Borrow checking◈ Members↗
FA-43521

Interior mutable storage contributes no invariance constraint · case 01

Interior mutable storage contributes no invariance constraint.

Borrow checking● Open access↗
FA-43522

Interior mutable storage contributes no invariance constraint · case 02

Interior mutable storage contributes no invariance constraint.

Borrow checking◈ Members↗
FA-43523

Interior mutable storage contributes no invariance constraint · case 03

Interior mutable storage contributes no invariance constraint.

Borrow checking◈ Members↗
FA-43524

Interior mutable storage contributes no invariance constraint · case 04

Interior mutable storage contributes no invariance constraint.

Borrow checking◈ Members↗
FA-43525

Interior mutable storage contributes no invariance constraint · case 05

Interior mutable storage contributes no invariance constraint.

Borrow checking◈ Members↗
FA-43526

A phantom ownership marker incorrectly freezes lifetime covariance · case 01

A phantom ownership marker incorrectly freezes lifetime covariance.

Borrow checking● Open access↗
FA-43527

A phantom ownership marker incorrectly freezes lifetime covariance · case 02

A phantom ownership marker incorrectly freezes lifetime covariance.

Borrow checking◈ Members↗
FA-43528

A phantom ownership marker incorrectly freezes lifetime covariance · case 03

A phantom ownership marker incorrectly freezes lifetime covariance.

Borrow checking◈ Members↗
FA-43529

A phantom ownership marker incorrectly freezes lifetime covariance · case 04

A phantom ownership marker incorrectly freezes lifetime covariance.

Borrow checking◈ Members↗
FA-43530

A phantom ownership marker incorrectly freezes lifetime covariance · case 05

A phantom ownership marker incorrectly freezes lifetime covariance.

Borrow checking◈ Members↗
FA-43531

Opaque type variance records only one of its captured lifetime parameters · case 01

Opaque type variance records only one of its captured lifetime parameters.

Borrow checking● Open access↗
FA-43532

Opaque type variance records only one of its captured lifetime parameters · case 02

Opaque type variance records only one of its captured lifetime parameters.

Borrow checking◈ Members↗
FA-43533

Opaque type variance records only one of its captured lifetime parameters · case 03

Opaque type variance records only one of its captured lifetime parameters.

Borrow checking◈ Members↗
FA-43534

Opaque type variance records only one of its captured lifetime parameters · case 04

Opaque type variance records only one of its captured lifetime parameters.

Borrow checking◈ Members↗
FA-43535

Opaque type variance records only one of its captured lifetime parameters · case 05

Opaque type variance records only one of its captured lifetime parameters.

Borrow checking◈ Members↗
FA-43536

Repeated covariant and contravariant occurrences fail to join to invariance · case 01

Repeated covariant and contravariant occurrences fail to join to invariance.

Borrow checking● Open access↗
FA-43537

Repeated covariant and contravariant occurrences fail to join to invariance · case 02

Repeated covariant and contravariant occurrences fail to join to invariance.

Borrow checking◈ Members↗
FA-43538

Repeated covariant and contravariant occurrences fail to join to invariance · case 03

Repeated covariant and contravariant occurrences fail to join to invariance.

Borrow checking◈ Members↗
FA-43539

Repeated covariant and contravariant occurrences fail to join to invariance · case 04

Repeated covariant and contravariant occurrences fail to join to invariance.

Borrow checking◈ Members↗
FA-43540

Repeated covariant and contravariant occurrences fail to join to invariance · case 05

Repeated covariant and contravariant occurrences fail to join to invariance.

Borrow checking◈ Members↗
FA-43541

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.

Borrow checking● Open access↗
FA-43542

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.

Borrow checking◈ Members↗
FA-43543

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.

Borrow checking◈ Members↗
FA-43544

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.

Borrow checking◈ Members↗
FA-43545

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.

Borrow checking◈ Members↗
FA-43546

Lifetime substitution fails to shift free indices across a nested binder · case 01

Lifetime substitution fails to shift free indices across a nested binder.

Borrow checking● Open access↗
FA-43547

Lifetime substitution fails to shift free indices across a nested binder · case 02

Lifetime substitution fails to shift free indices across a nested binder.

Borrow checking◈ Members↗
FA-43548

Lifetime substitution fails to shift free indices across a nested binder · case 03

Lifetime substitution fails to shift free indices across a nested binder.

Borrow checking◈ Members↗
FA-43549

Lifetime substitution fails to shift free indices across a nested binder · case 04

Lifetime substitution fails to shift free indices across a nested binder.

Borrow checking◈ Members↗
FA-43550

Lifetime substitution fails to shift free indices across a nested binder · case 05

Lifetime substitution fails to shift free indices across a nested binder.

Borrow checking◈ Members↗
FA-43551

Higher-ranked instantiation reuses the caller universe · case 01

Higher-ranked instantiation reuses the caller universe.

Borrow checking● Open access↗
FA-43552

Higher-ranked instantiation reuses the caller universe · case 02

Higher-ranked instantiation reuses the caller universe.

Borrow checking◈ Members↗
FA-43553

Higher-ranked instantiation reuses the caller universe · case 03

Higher-ranked instantiation reuses the caller universe.

Borrow checking◈ Members↗
FA-43554

Higher-ranked instantiation reuses the caller universe · case 04

Higher-ranked instantiation reuses the caller universe.

Borrow checking◈ Members↗
FA-43555

Higher-ranked instantiation reuses the caller universe · case 05

Higher-ranked instantiation reuses the caller universe.

Borrow checking◈ Members↗
FA-43556

An existential lifetime captures a placeholder from the next universe · case 01

An existential lifetime captures a placeholder from the next universe.

Borrow checking● Open access↗
FA-43557

An existential lifetime captures a placeholder from the next universe · case 02

An existential lifetime captures a placeholder from the next universe.

Borrow checking◈ Members↗
FA-43558

An existential lifetime captures a placeholder from the next universe · case 03

An existential lifetime captures a placeholder from the next universe.

Borrow checking◈ Members↗
FA-43559

An existential lifetime captures a placeholder from the next universe · case 04

An existential lifetime captures a placeholder from the next universe.

Borrow checking◈ Members↗
FA-43560

An existential lifetime captures a placeholder from the next universe · case 05

An existential lifetime captures a placeholder from the next universe.

Borrow checking◈ Members↗
FA-43561

A higher-ranked obligation is checked for only one bound parameter · case 01

A higher-ranked obligation is checked for only one bound parameter.

Borrow checking● Open access↗
FA-43562

A higher-ranked obligation is checked for only one bound parameter · case 02

A higher-ranked obligation is checked for only one bound parameter.

Borrow checking◈ Members↗
FA-43563

A higher-ranked obligation is checked for only one bound parameter · case 03

A higher-ranked obligation is checked for only one bound parameter.

Borrow checking◈ Members↗
FA-43564

A higher-ranked obligation is checked for only one bound parameter · case 04

A higher-ranked obligation is checked for only one bound parameter.

Borrow checking◈ Members↗
FA-43565

A higher-ranked obligation is checked for only one bound parameter · case 05

A higher-ranked obligation is checked for only one bound parameter.

Borrow checking◈ Members↗
FA-43566

Alpha-renaming splits equal bound lifetime occurrences · case 01

Alpha-renaming splits equal bound lifetime occurrences.

Borrow checking● Open access↗
FA-43567

Alpha-renaming splits equal bound lifetime occurrences · case 02

Alpha-renaming splits equal bound lifetime occurrences.

Borrow checking◈ Members↗
FA-43568

Alpha-renaming splits equal bound lifetime occurrences · case 03

Alpha-renaming splits equal bound lifetime occurrences.

Borrow checking◈ Members↗
FA-43569

Alpha-renaming splits equal bound lifetime occurrences · case 04

Alpha-renaming splits equal bound lifetime occurrences.

Borrow checking◈ Members↗
FA-43570

Alpha-renaming splits equal bound lifetime occurrences · case 05

Alpha-renaming splits equal bound lifetime occurrences.

Borrow checking◈ Members↗
FA-43571

Alpha-renaming merges distinct bound lifetime parameters · case 01

Alpha-renaming merges distinct bound lifetime parameters.

Borrow checking● Open access↗
FA-43572

Alpha-renaming merges distinct bound lifetime parameters · case 02

Alpha-renaming merges distinct bound lifetime parameters.

Borrow checking◈ Members↗
FA-43573

Alpha-renaming merges distinct bound lifetime parameters · case 03

Alpha-renaming merges distinct bound lifetime parameters.

Borrow checking◈ Members↗
FA-43574

Alpha-renaming merges distinct bound lifetime parameters · case 04

Alpha-renaming merges distinct bound lifetime parameters.

Borrow checking◈ Members↗
FA-43575

Alpha-renaming merges distinct bound lifetime parameters · case 05

Alpha-renaming merges distinct bound lifetime parameters.

Borrow checking◈ Members↗
FA-43576

Removing a binder leaves outer lifetime indices off by one · case 01

Removing a binder leaves outer lifetime indices off by one.

Borrow checking● Open access↗
FA-43577

Removing a binder leaves outer lifetime indices off by one · case 02

Removing a binder leaves outer lifetime indices off by one.

Borrow checking◈ Members↗
FA-43578

Removing a binder leaves outer lifetime indices off by one · case 03

Removing a binder leaves outer lifetime indices off by one.

Borrow checking◈ Members↗
FA-43579

Removing a binder leaves outer lifetime indices off by one · case 04

Removing a binder leaves outer lifetime indices off by one.

Borrow checking◈ Members↗
FA-43580

Removing a binder leaves outer lifetime indices off by one · case 05

Removing a binder leaves outer lifetime indices off by one.

Borrow checking◈ Members↗
FA-43581

A universal lifetime placeholder is replaced by static storage · case 01

A universal lifetime placeholder is replaced by static storage.

Borrow checking● Open access↗
FA-43582

A universal lifetime placeholder is replaced by static storage · case 02

A universal lifetime placeholder is replaced by static storage.

Borrow checking◈ Members↗
FA-43583

A universal lifetime placeholder is replaced by static storage · case 03

A universal lifetime placeholder is replaced by static storage.

Borrow checking◈ Members↗
FA-43584

A universal lifetime placeholder is replaced by static storage · case 04

A universal lifetime placeholder is replaced by static storage.

Borrow checking◈ Members↗
FA-43585

A universal lifetime placeholder is replaced by static storage · case 05

A universal lifetime placeholder is replaced by static storage.

Borrow checking◈ Members↗
FA-43586

One concrete lifetime instantiation is mistaken for a universal proof · case 01

One concrete lifetime instantiation is mistaken for a universal proof.

Borrow checking● Open access↗
FA-43587

One concrete lifetime instantiation is mistaken for a universal proof · case 02

One concrete lifetime instantiation is mistaken for a universal proof.

Borrow checking◈ Members↗
FA-43588

One concrete lifetime instantiation is mistaken for a universal proof · case 03

One concrete lifetime instantiation is mistaken for a universal proof.

Borrow checking◈ Members↗
FA-43589

One concrete lifetime instantiation is mistaken for a universal proof · case 04

One concrete lifetime instantiation is mistaken for a universal proof.

Borrow checking◈ Members↗
FA-43590

One concrete lifetime instantiation is mistaken for a universal proof · case 05

One concrete lifetime instantiation is mistaken for a universal proof.

Borrow checking◈ Members↗
FA-43591

Trait erasure changes the referent lifetime while preserving its size · case 01

Trait erasure changes the referent lifetime while preserving its size.

Borrow checking● Open access↗
FA-43592

Trait erasure changes the referent lifetime while preserving its size · case 02

Trait erasure changes the referent lifetime while preserving its size.

Borrow checking◈ Members↗
FA-43593

Trait erasure changes the referent lifetime while preserving its size · case 03

Trait erasure changes the referent lifetime while preserving its size.

Borrow checking◈ Members↗
FA-43594

Trait erasure changes the referent lifetime while preserving its size · case 04

Trait erasure changes the referent lifetime while preserving its size.

Borrow checking◈ Members↗
FA-43595

Trait erasure changes the referent lifetime while preserving its size · case 05

Trait erasure changes the referent lifetime while preserving its size.

Borrow checking◈ Members↗
FA-43596

Erasing a shared borrow manufactures exclusive trait-object access · case 01

Erasing a shared borrow manufactures exclusive trait-object access.

Borrow checking● Open access↗
FA-43597

Erasing a shared borrow manufactures exclusive trait-object access · case 02

Erasing a shared borrow manufactures exclusive trait-object access.

Borrow checking◈ Members↗
FA-43598

Erasing a shared borrow manufactures exclusive trait-object access · case 03

Erasing a shared borrow manufactures exclusive trait-object access.

Borrow checking◈ Members↗
FA-43599

Erasing a shared borrow manufactures exclusive trait-object access · case 04

Erasing a shared borrow manufactures exclusive trait-object access.

Borrow checking◈ Members↗
FA-43600

Erasing a shared borrow manufactures exclusive trait-object access · case 05

Erasing a shared borrow manufactures exclusive trait-object access.

Borrow checking◈ Members↗

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 ↗