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-44001

Trait-object reference coercion loses the borrowed metadata witness · case 01

Trait-object reference coercion loses the borrowed metadata witness.

Borrow checking● Open access↗
FA-44002

Trait-object reference coercion loses the borrowed metadata witness · case 02

Trait-object reference coercion loses the borrowed metadata witness.

Borrow checking◈ Members↗
FA-44003

Trait-object reference coercion loses the borrowed metadata witness · case 03

Trait-object reference coercion loses the borrowed metadata witness.

Borrow checking◈ Members↗
FA-44004

Trait-object reference coercion loses the borrowed metadata witness · case 04

Trait-object reference coercion loses the borrowed metadata witness.

Borrow checking◈ Members↗
FA-44005

Trait-object reference coercion loses the borrowed metadata witness · case 05

Trait-object reference coercion loses the borrowed metadata witness.

Borrow checking◈ Members↗
FA-44006

Array-to-slice borrow omits the final owned element · case 01

Array-to-slice borrow omits the final owned element.

Borrow checking● Open access↗
FA-44007

Array-to-slice borrow omits the final owned element · case 02

Array-to-slice borrow omits the final owned element.

Borrow checking◈ Members↗
FA-44008

Array-to-slice borrow omits the final owned element · case 03

Array-to-slice borrow omits the final owned element.

Borrow checking◈ Members↗
FA-44009

Array-to-slice borrow omits the final owned element · case 04

Array-to-slice borrow omits the final owned element.

Borrow checking◈ Members↗
FA-44010

Array-to-slice borrow omits the final owned element · case 05

Array-to-slice borrow omits the final owned element.

Borrow checking◈ Members↗
FA-44011

A mutable reference to a reference permits inner lifetime shortening · case 01

A mutable reference to a reference permits inner lifetime shortening.

Borrow checking● Open access↗
FA-44012

A mutable reference to a reference permits inner lifetime shortening · case 02

A mutable reference to a reference permits inner lifetime shortening.

Borrow checking◈ Members↗
FA-44013

A mutable reference to a reference permits inner lifetime shortening · case 03

A mutable reference to a reference permits inner lifetime shortening.

Borrow checking◈ Members↗
FA-44014

A mutable reference to a reference permits inner lifetime shortening · case 04

A mutable reference to a reference permits inner lifetime shortening.

Borrow checking◈ Members↗
FA-44015

A mutable reference to a reference permits inner lifetime shortening · case 05

A mutable reference to a reference permits inner lifetime shortening.

Borrow checking◈ Members↗
FA-44016

Shared-reference coercion extends the outer borrow lifetime · case 01

Shared-reference coercion extends the outer borrow lifetime.

Borrow checking● Open access↗
FA-44017

Shared-reference coercion extends the outer borrow lifetime · case 02

Shared-reference coercion extends the outer borrow lifetime.

Borrow checking◈ Members↗
FA-44018

Shared-reference coercion extends the outer borrow lifetime · case 03

Shared-reference coercion extends the outer borrow lifetime.

Borrow checking◈ Members↗
FA-44019

Shared-reference coercion extends the outer borrow lifetime · case 04

Shared-reference coercion extends the outer borrow lifetime.

Borrow checking◈ Members↗
FA-44020

Shared-reference coercion extends the outer borrow lifetime · case 05

Shared-reference coercion extends the outer borrow lifetime.

Borrow checking◈ Members↗
FA-44021

A multi-step deref coercion loses an intermediate borrow dependency · case 01

A multi-step deref coercion loses an intermediate borrow dependency.

Borrow checking● Open access↗
FA-44022

A multi-step deref coercion loses an intermediate borrow dependency · case 02

A multi-step deref coercion loses an intermediate borrow dependency.

Borrow checking◈ Members↗
FA-44023

A multi-step deref coercion loses an intermediate borrow dependency · case 03

A multi-step deref coercion loses an intermediate borrow dependency.

Borrow checking◈ Members↗
FA-44024

A multi-step deref coercion loses an intermediate borrow dependency · case 04

A multi-step deref coercion loses an intermediate borrow dependency.

Borrow checking◈ Members↗
FA-44025

A multi-step deref coercion loses an intermediate borrow dependency · case 05

A multi-step deref coercion loses an intermediate borrow dependency.

Borrow checking◈ Members↗
FA-44026

Implicit reference coercion invokes a dereference that consumes its owner · case 01

Implicit reference coercion invokes a dereference that consumes its owner.

Borrow checking● Open access↗
FA-44027

Implicit reference coercion invokes a dereference that consumes its owner · case 02

Implicit reference coercion invokes a dereference that consumes its owner.

Borrow checking◈ Members↗
FA-44028

Implicit reference coercion invokes a dereference that consumes its owner · case 03

Implicit reference coercion invokes a dereference that consumes its owner.

Borrow checking◈ Members↗
FA-44029

Implicit reference coercion invokes a dereference that consumes its owner · case 04

Implicit reference coercion invokes a dereference that consumes its owner.

Borrow checking◈ Members↗
FA-44030

Implicit reference coercion invokes a dereference that consumes its owner · case 05

Implicit reference coercion invokes a dereference that consumes its owner.

Borrow checking◈ Members↗
FA-44031

Function-reference reification drops one captured lifetime dependency · case 01

Function-reference reification drops one captured lifetime dependency.

Borrow checking● Open access↗
FA-44032

Function-reference reification drops one captured lifetime dependency · case 02

Function-reference reification drops one captured lifetime dependency.

Borrow checking◈ Members↗
FA-44033

Function-reference reification drops one captured lifetime dependency · case 03

Function-reference reification drops one captured lifetime dependency.

Borrow checking◈ Members↗
FA-44034

Function-reference reification drops one captured lifetime dependency · case 04

Function-reference reification drops one captured lifetime dependency.

Borrow checking◈ Members↗
FA-44035

Function-reference reification drops one captured lifetime dependency · case 05

Function-reference reification drops one captured lifetime dependency.

Borrow checking◈ Members↗
FA-44036

Diverging branch coercion invents a reference origin at the join · case 01

Diverging branch coercion invents a reference origin at the join.

Borrow checking● Open access↗
FA-44037

Diverging branch coercion invents a reference origin at the join · case 02

Diverging branch coercion invents a reference origin at the join.

Borrow checking◈ Members↗
FA-44038

Diverging branch coercion invents a reference origin at the join · case 03

Diverging branch coercion invents a reference origin at the join.

Borrow checking◈ Members↗
FA-44039

Diverging branch coercion invents a reference origin at the join · case 04

Diverging branch coercion invents a reference origin at the join.

Borrow checking◈ Members↗
FA-44040

Diverging branch coercion invents a reference origin at the join · case 05

Diverging branch coercion invents a reference origin at the join.

Borrow checking◈ Members↗
FA-44041

Branch initialization joins use union rather than definite intersection · case 01

Branch initialization joins use union rather than definite intersection.

Borrow checking● Open access↗
FA-44042

Branch initialization joins use union rather than definite intersection · case 02

Branch initialization joins use union rather than definite intersection.

Borrow checking◈ Members↗
FA-44043

Branch initialization joins use union rather than definite intersection · case 03

Branch initialization joins use union rather than definite intersection.

Borrow checking◈ Members↗
FA-44044

Branch initialization joins use union rather than definite intersection · case 04

Branch initialization joins use union rather than definite intersection.

Borrow checking◈ Members↗
FA-44045

Branch initialization joins use union rather than definite intersection · case 05

Branch initialization joins use union rather than definite intersection.

Borrow checking◈ Members↗
FA-44046

A move on one predecessor is absent from the possible-move state · case 01

A move on one predecessor is absent from the possible-move state.

Borrow checking● Open access↗
FA-44047

A move on one predecessor is absent from the possible-move state · case 02

A move on one predecessor is absent from the possible-move state.

Borrow checking◈ Members↗
FA-44048

A move on one predecessor is absent from the possible-move state · case 03

A move on one predecessor is absent from the possible-move state.

Borrow checking◈ Members↗
FA-44049

A move on one predecessor is absent from the possible-move state · case 04

A move on one predecessor is absent from the possible-move state.

Borrow checking◈ Members↗
FA-44050

A move on one predecessor is absent from the possible-move state · case 05

A move on one predecessor is absent from the possible-move state.

Borrow checking◈ Members↗
FA-44051

Join retains exclusive capability when predecessor owners differ · case 01

Join retains exclusive capability when predecessor owners differ.

Borrow checking● Open access↗
FA-44052

Join retains exclusive capability when predecessor owners differ · case 02

Join retains exclusive capability when predecessor owners differ.

Borrow checking◈ Members↗
FA-44053

Join retains exclusive capability when predecessor owners differ · case 03

Join retains exclusive capability when predecessor owners differ.

Borrow checking◈ Members↗
FA-44054

Join retains exclusive capability when predecessor owners differ · case 04

Join retains exclusive capability when predecessor owners differ.

Borrow checking◈ Members↗
FA-44055

Join retains exclusive capability when predecessor owners differ · case 05

Join retains exclusive capability when predecessor owners differ.

Borrow checking◈ Members↗
FA-44056

A returned predecessor pollutes continuing ownership state · case 01

A returned predecessor pollutes continuing ownership state.

Borrow checking● Open access↗
FA-44057

A returned predecessor pollutes continuing ownership state · case 02

A returned predecessor pollutes continuing ownership state.

Borrow checking◈ Members↗
FA-44058

A returned predecessor pollutes continuing ownership state · case 03

A returned predecessor pollutes continuing ownership state.

Borrow checking◈ Members↗
FA-44059

A returned predecessor pollutes continuing ownership state · case 04

A returned predecessor pollutes continuing ownership state.

Borrow checking◈ Members↗
FA-44060

A returned predecessor pollutes continuing ownership state · case 05

A returned predecessor pollutes continuing ownership state.

Borrow checking◈ Members↗
FA-44061

A diverging branch contributes an ordinary ownership state instead of bottom · case 01

A diverging branch contributes an ordinary ownership state instead of bottom.

Borrow checking● Open access↗
FA-44062

A diverging branch contributes an ordinary ownership state instead of bottom · case 02

A diverging branch contributes an ordinary ownership state instead of bottom.

Borrow checking◈ Members↗
FA-44063

A diverging branch contributes an ordinary ownership state instead of bottom · case 03

A diverging branch contributes an ordinary ownership state instead of bottom.

Borrow checking◈ Members↗
FA-44064

A diverging branch contributes an ordinary ownership state instead of bottom · case 04

A diverging branch contributes an ordinary ownership state instead of bottom.

Borrow checking◈ Members↗
FA-44065

A diverging branch contributes an ordinary ownership state instead of bottom · case 05

A diverging branch contributes an ordinary ownership state instead of bottom.

Borrow checking◈ Members↗
FA-44066

A joined reference keeps only one predecessor referent origin · case 01

A joined reference keeps only one predecessor referent origin.

Borrow checking● Open access↗
FA-44067

A joined reference keeps only one predecessor referent origin · case 02

A joined reference keeps only one predecessor referent origin.

Borrow checking◈ Members↗
FA-44068

A joined reference keeps only one predecessor referent origin · case 03

A joined reference keeps only one predecessor referent origin.

Borrow checking◈ Members↗
FA-44069

A joined reference keeps only one predecessor referent origin · case 04

A joined reference keeps only one predecessor referent origin.

Borrow checking◈ Members↗
FA-44070

A joined reference keeps only one predecessor referent origin · case 05

A joined reference keeps only one predecessor referent origin.

Borrow checking◈ Members↗
FA-44071

A path initialized on every branch remains incorrectly marked moved · case 01

A path initialized on every branch remains incorrectly marked moved.

Borrow checking● Open access↗
FA-44072

A path initialized on every branch remains incorrectly marked moved · case 02

A path initialized on every branch remains incorrectly marked moved.

Borrow checking◈ Members↗
FA-44073

A path initialized on every branch remains incorrectly marked moved · case 03

A path initialized on every branch remains incorrectly marked moved.

Borrow checking◈ Members↗
FA-44074

A path initialized on every branch remains incorrectly marked moved · case 04

A path initialized on every branch remains incorrectly marked moved.

Borrow checking◈ Members↗
FA-44075

A path initialized on every branch remains incorrectly marked moved · case 05

A path initialized on every branch remains incorrectly marked moved.

Borrow checking◈ Members↗
FA-44076

Different storage incarnations merge because their source variable spelling matches · case 01

Different storage incarnations merge because their source variable spelling matches.

Borrow checking● Open access↗
FA-44077

Different storage incarnations merge because their source variable spelling matches · case 02

Different storage incarnations merge because their source variable spelling matches.

Borrow checking◈ Members↗
FA-44078

Different storage incarnations merge because their source variable spelling matches · case 03

Different storage incarnations merge because their source variable spelling matches.

Borrow checking◈ Members↗
FA-44079

Different storage incarnations merge because their source variable spelling matches · case 04

Different storage incarnations merge because their source variable spelling matches.

Borrow checking◈ Members↗
FA-44080

Different storage incarnations merge because their source variable spelling matches · case 05

Different storage incarnations merge because their source variable spelling matches.

Borrow checking◈ Members↗
FA-44081

A conditionally initialized field lacks its runtime drop flag obligation · case 01

A conditionally initialized field lacks its runtime drop flag obligation.

Borrow checking● Open access↗
FA-44082

A conditionally initialized field lacks its runtime drop flag obligation · case 02

A conditionally initialized field lacks its runtime drop flag obligation.

Borrow checking◈ Members↗
FA-44083

A conditionally initialized field lacks its runtime drop flag obligation · case 03

A conditionally initialized field lacks its runtime drop flag obligation.

Borrow checking◈ Members↗
FA-44084

A conditionally initialized field lacks its runtime drop flag obligation · case 04

A conditionally initialized field lacks its runtime drop flag obligation.

Borrow checking◈ Members↗
FA-44085

A conditionally initialized field lacks its runtime drop flag obligation · case 05

A conditionally initialized field lacks its runtime drop flag obligation.

Borrow checking◈ Members↗
FA-44086

A path-dependent borrow capability becomes unconditional at the join · case 01

A path-dependent borrow capability becomes unconditional at the join.

Borrow checking● Open access↗
FA-44087

A path-dependent borrow capability becomes unconditional at the join · case 02

A path-dependent borrow capability becomes unconditional at the join.

Borrow checking◈ Members↗
FA-44088

A path-dependent borrow capability becomes unconditional at the join · case 03

A path-dependent borrow capability becomes unconditional at the join.

Borrow checking◈ Members↗
FA-44089

A path-dependent borrow capability becomes unconditional at the join · case 04

A path-dependent borrow capability becomes unconditional at the join.

Borrow checking◈ Members↗
FA-44090

A path-dependent borrow capability becomes unconditional at the join · case 05

A path-dependent borrow capability becomes unconditional at the join.

Borrow checking◈ Members↗
FA-44091

Aggregate lowering reorders a borrow before its owner-producing field expression · case 01

Aggregate lowering reorders a borrow before its owner-producing field expression.

Borrow checking● Open access↗
FA-44092

Aggregate lowering reorders a borrow before its owner-producing field expression · case 02

Aggregate lowering reorders a borrow before its owner-producing field expression.

Borrow checking◈ Members↗
FA-44093

Aggregate lowering reorders a borrow before its owner-producing field expression · case 03

Aggregate lowering reorders a borrow before its owner-producing field expression.

Borrow checking◈ Members↗
FA-44094

Aggregate lowering reorders a borrow before its owner-producing field expression · case 04

Aggregate lowering reorders a borrow before its owner-producing field expression.

Borrow checking◈ Members↗
FA-44095

Aggregate lowering reorders a borrow before its owner-producing field expression · case 05

Aggregate lowering reorders a borrow before its owner-producing field expression.

Borrow checking◈ Members↗
FA-44096

Struct update moves a field explicitly replaced by the constructor · case 01

Struct update moves a field explicitly replaced by the constructor.

Borrow checking● Open access↗
FA-44097

Struct update moves a field explicitly replaced by the constructor · case 02

Struct update moves a field explicitly replaced by the constructor.

Borrow checking◈ Members↗
FA-44098

Struct update moves a field explicitly replaced by the constructor · case 03

Struct update moves a field explicitly replaced by the constructor.

Borrow checking◈ Members↗
FA-44099

Struct update moves a field explicitly replaced by the constructor · case 04

Struct update moves a field explicitly replaced by the constructor.

Borrow checking◈ Members↗
FA-44100

Struct update moves a field explicitly replaced by the constructor · case 05

Struct update moves a field explicitly replaced by the constructor.

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 ↗