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

A one-past pointer is converted to a usable reference · case 01

A one-past pointer is converted to a usable reference.

Borrow checking● Open access↗
FA-43902

A one-past pointer is converted to a usable reference · case 02

A one-past pointer is converted to a usable reference.

Borrow checking◈ Members↗
FA-43903

A one-past pointer is converted to a usable reference · case 03

A one-past pointer is converted to a usable reference.

Borrow checking◈ Members↗
FA-43904

A one-past pointer is converted to a usable reference · case 04

A one-past pointer is converted to a usable reference.

Borrow checking◈ Members↗
FA-43905

A one-past pointer is converted to a usable reference · case 05

A one-past pointer is converted to a usable reference.

Borrow checking◈ Members↗
FA-43906

Raw-to-reference conversion postpones origin liveness until a later dereference · case 01

Raw-to-reference conversion postpones origin liveness until a later dereference.

Borrow checking● Open access↗
FA-43907

Raw-to-reference conversion postpones origin liveness until a later dereference · case 02

Raw-to-reference conversion postpones origin liveness until a later dereference.

Borrow checking◈ Members↗
FA-43908

Raw-to-reference conversion postpones origin liveness until a later dereference · case 03

Raw-to-reference conversion postpones origin liveness until a later dereference.

Borrow checking◈ Members↗
FA-43909

Raw-to-reference conversion postpones origin liveness until a later dereference · case 04

Raw-to-reference conversion postpones origin liveness until a later dereference.

Borrow checking◈ Members↗
FA-43910

Raw-to-reference conversion postpones origin liveness until a later dereference · case 05

Raw-to-reference conversion postpones origin liveness until a later dereference.

Borrow checking◈ Members↗
FA-43911

Integer address reconstruction invents a static borrow capability · case 01

Integer address reconstruction invents a static borrow capability.

Borrow checking● Open access↗
FA-43912

Integer address reconstruction invents a static borrow capability · case 02

Integer address reconstruction invents a static borrow capability.

Borrow checking◈ Members↗
FA-43913

Integer address reconstruction invents a static borrow capability · case 03

Integer address reconstruction invents a static borrow capability.

Borrow checking◈ Members↗
FA-43914

Integer address reconstruction invents a static borrow capability · case 04

Integer address reconstruction invents a static borrow capability.

Borrow checking◈ Members↗
FA-43915

Integer address reconstruction invents a static borrow capability · case 05

Integer address reconstruction invents a static borrow capability.

Borrow checking◈ Members↗
FA-43916

In-place reallocation preserves references tied to the old allocation epoch · case 01

In-place reallocation preserves references tied to the old allocation epoch.

Borrow checking● Open access↗
FA-43917

In-place reallocation preserves references tied to the old allocation epoch · case 02

In-place reallocation preserves references tied to the old allocation epoch.

Borrow checking◈ Members↗
FA-43918

In-place reallocation preserves references tied to the old allocation epoch · case 03

In-place reallocation preserves references tied to the old allocation epoch.

Borrow checking◈ Members↗
FA-43919

In-place reallocation preserves references tied to the old allocation epoch · case 04

In-place reallocation preserves references tied to the old allocation epoch.

Borrow checking◈ Members↗
FA-43920

In-place reallocation preserves references tied to the old allocation epoch · case 05

In-place reallocation preserves references tied to the old allocation epoch.

Borrow checking◈ Members↗
FA-43921

Distinct zero-sized owner identities collapse during provenance canonicalization · case 01

Distinct zero-sized owner identities collapse during provenance canonicalization.

Borrow checking● Open access↗
FA-43922

Distinct zero-sized owner identities collapse during provenance canonicalization · case 02

Distinct zero-sized owner identities collapse during provenance canonicalization.

Borrow checking◈ Members↗
FA-43923

Distinct zero-sized owner identities collapse during provenance canonicalization · case 03

Distinct zero-sized owner identities collapse during provenance canonicalization.

Borrow checking◈ Members↗
FA-43924

Distinct zero-sized owner identities collapse during provenance canonicalization · case 04

Distinct zero-sized owner identities collapse during provenance canonicalization.

Borrow checking◈ Members↗
FA-43925

Distinct zero-sized owner identities collapse during provenance canonicalization · case 05

Distinct zero-sized owner identities collapse during provenance canonicalization.

Borrow checking◈ Members↗
FA-43926

Union payload reference is justified by the wrong active-variant witness · case 01

Union payload reference is justified by the wrong active-variant witness.

Borrow checking● Open access↗
FA-43927

Union payload reference is justified by the wrong active-variant witness · case 02

Union payload reference is justified by the wrong active-variant witness.

Borrow checking◈ Members↗
FA-43928

Union payload reference is justified by the wrong active-variant witness · case 03

Union payload reference is justified by the wrong active-variant witness.

Borrow checking◈ Members↗
FA-43929

Union payload reference is justified by the wrong active-variant witness · case 04

Union payload reference is justified by the wrong active-variant witness.

Borrow checking◈ Members↗
FA-43930

Union payload reference is justified by the wrong active-variant witness · case 05

Union payload reference is justified by the wrong active-variant witness.

Borrow checking◈ Members↗
FA-43931

A pointer cast changes stack referent storage into heap lifetime · case 01

A pointer cast changes stack referent storage into heap lifetime.

Borrow checking● Open access↗
FA-43932

A pointer cast changes stack referent storage into heap lifetime · case 02

A pointer cast changes stack referent storage into heap lifetime.

Borrow checking◈ Members↗
FA-43933

A pointer cast changes stack referent storage into heap lifetime · case 03

A pointer cast changes stack referent storage into heap lifetime.

Borrow checking◈ Members↗
FA-43934

A pointer cast changes stack referent storage into heap lifetime · case 04

A pointer cast changes stack referent storage into heap lifetime.

Borrow checking◈ Members↗
FA-43935

A pointer cast changes stack referent storage into heap lifetime · case 05

A pointer cast changes stack referent storage into heap lifetime.

Borrow checking◈ Members↗
FA-43936

A field borrow gets its own allocation identity instead of its base owner · case 01

A field borrow gets its own allocation identity instead of its base owner.

Borrow checking● Open access↗
FA-43937

A field borrow gets its own allocation identity instead of its base owner · case 02

A field borrow gets its own allocation identity instead of its base owner.

Borrow checking◈ Members↗
FA-43938

A field borrow gets its own allocation identity instead of its base owner · case 03

A field borrow gets its own allocation identity instead of its base owner.

Borrow checking◈ Members↗
FA-43939

A field borrow gets its own allocation identity instead of its base owner · case 04

A field borrow gets its own allocation identity instead of its base owner.

Borrow checking◈ Members↗
FA-43940

A field borrow gets its own allocation identity instead of its base owner · case 05

A field borrow gets its own allocation identity instead of its base owner.

Borrow checking◈ Members↗
FA-43941

Iterator yield summary loses one backing-storage origin · case 01

Iterator yield summary loses one backing-storage origin.

Borrow checking● Open access↗
FA-43942

Iterator yield summary loses one backing-storage origin · case 02

Iterator yield summary loses one backing-storage origin.

Borrow checking◈ Members↗
FA-43943

Iterator yield summary loses one backing-storage origin · case 03

Iterator yield summary loses one backing-storage origin.

Borrow checking◈ Members↗
FA-43944

Iterator yield summary loses one backing-storage origin · case 04

Iterator yield summary loses one backing-storage origin.

Borrow checking◈ Members↗
FA-43945

Iterator yield summary loses one backing-storage origin · case 05

Iterator yield summary loses one backing-storage origin.

Borrow checking◈ Members↗
FA-43946

A lending item remains usable across the next iterator call · case 01

A lending item remains usable across the next iterator call.

Borrow checking● Open access↗
FA-43947

A lending item remains usable across the next iterator call · case 02

A lending item remains usable across the next iterator call.

Borrow checking◈ Members↗
FA-43948

A lending item remains usable across the next iterator call · case 03

A lending item remains usable across the next iterator call.

Borrow checking◈ Members↗
FA-43949

A lending item remains usable across the next iterator call · case 04

A lending item remains usable across the next iterator call.

Borrow checking◈ Members↗
FA-43950

A lending item remains usable across the next iterator call · case 05

A lending item remains usable across the next iterator call.

Borrow checking◈ Members↗
FA-43951

Mutable iteration yields overlapping element capabilities · case 01

Mutable iteration yields overlapping element capabilities.

Borrow checking● Open access↗
FA-43952

Mutable iteration yields overlapping element capabilities · case 02

Mutable iteration yields overlapping element capabilities.

Borrow checking◈ Members↗
FA-43953

Mutable iteration yields overlapping element capabilities · case 03

Mutable iteration yields overlapping element capabilities.

Borrow checking◈ Members↗
FA-43954

Mutable iteration yields overlapping element capabilities · case 04

Mutable iteration yields overlapping element capabilities.

Borrow checking◈ Members↗
FA-43955

Mutable iteration yields overlapping element capabilities · case 05

Mutable iteration yields overlapping element capabilities.

Borrow checking◈ Members↗
FA-43956

A next-call transfer leaves the prior lending-item loan live · case 01

A next-call transfer leaves the prior lending-item loan live.

Borrow checking● Open access↗
FA-43957

A next-call transfer leaves the prior lending-item loan live · case 02

A next-call transfer leaves the prior lending-item loan live.

Borrow checking◈ Members↗
FA-43958

A next-call transfer leaves the prior lending-item loan live · case 03

A next-call transfer leaves the prior lending-item loan live.

Borrow checking◈ Members↗
FA-43959

A next-call transfer leaves the prior lending-item loan live · case 04

A next-call transfer leaves the prior lending-item loan live.

Borrow checking◈ Members↗
FA-43960

A next-call transfer leaves the prior lending-item loan live · case 05

A next-call transfer leaves the prior lending-item loan live.

Borrow checking◈ Members↗
FA-43961

Front and back iterator cursors yield the same mutable element · case 01

Front and back iterator cursors yield the same mutable element.

Borrow checking● Open access↗
FA-43962

Front and back iterator cursors yield the same mutable element · case 02

Front and back iterator cursors yield the same mutable element.

Borrow checking◈ Members↗
FA-43963

Front and back iterator cursors yield the same mutable element · case 03

Front and back iterator cursors yield the same mutable element.

Borrow checking◈ Members↗
FA-43964

Front and back iterator cursors yield the same mutable element · case 04

Front and back iterator cursors yield the same mutable element.

Borrow checking◈ Members↗
FA-43965

Front and back iterator cursors yield the same mutable element · case 05

Front and back iterator cursors yield the same mutable element.

Borrow checking◈ Members↗
FA-43966

Chunk iterator lowering drops the remainder borrow capability · case 01

Chunk iterator lowering drops the remainder borrow capability.

Borrow checking● Open access↗
FA-43967

Chunk iterator lowering drops the remainder borrow capability · case 02

Chunk iterator lowering drops the remainder borrow capability.

Borrow checking◈ Members↗
FA-43968

Chunk iterator lowering drops the remainder borrow capability · case 03

Chunk iterator lowering drops the remainder borrow capability.

Borrow checking◈ Members↗
FA-43969

Chunk iterator lowering drops the remainder borrow capability · case 04

Chunk iterator lowering drops the remainder borrow capability.

Borrow checking◈ Members↗
FA-43970

Chunk iterator lowering drops the remainder borrow capability · case 05

Chunk iterator lowering drops the remainder borrow capability.

Borrow checking◈ Members↗
FA-43971

An iterator adapter extends a borrowed item beyond its source lifetime · case 01

An iterator adapter extends a borrowed item beyond its source lifetime.

Borrow checking● Open access↗
FA-43972

An iterator adapter extends a borrowed item beyond its source lifetime · case 02

An iterator adapter extends a borrowed item beyond its source lifetime.

Borrow checking◈ Members↗
FA-43973

An iterator adapter extends a borrowed item beyond its source lifetime · case 03

An iterator adapter extends a borrowed item beyond its source lifetime.

Borrow checking◈ Members↗
FA-43974

An iterator adapter extends a borrowed item beyond its source lifetime · case 04

An iterator adapter extends a borrowed item beyond its source lifetime.

Borrow checking◈ Members↗
FA-43975

An iterator adapter extends a borrowed item beyond its source lifetime · case 05

An iterator adapter extends a borrowed item beyond its source lifetime.

Borrow checking◈ Members↗
FA-43976

Collected lending references survive the iteration that owns their loan · case 01

Collected lending references survive the iteration that owns their loan.

Borrow checking● Open access↗
FA-43977

Collected lending references survive the iteration that owns their loan · case 02

Collected lending references survive the iteration that owns their loan.

Borrow checking◈ Members↗
FA-43978

Collected lending references survive the iteration that owns their loan · case 03

Collected lending references survive the iteration that owns their loan.

Borrow checking◈ Members↗
FA-43979

Collected lending references survive the iteration that owns their loan · case 04

Collected lending references survive the iteration that owns their loan.

Borrow checking◈ Members↗
FA-43980

Collected lending references survive the iteration that owns their loan · case 05

Collected lending references survive the iteration that owns their loan.

Borrow checking◈ Members↗
FA-43981

An empty iterator summary invents a yielded borrow · case 01

An empty iterator summary invents a yielded borrow.

Borrow checking● Open access↗
FA-43982

An empty iterator summary invents a yielded borrow · case 02

An empty iterator summary invents a yielded borrow.

Borrow checking◈ Members↗
FA-43983

An empty iterator summary invents a yielded borrow · case 03

An empty iterator summary invents a yielded borrow.

Borrow checking◈ Members↗
FA-43984

An empty iterator summary invents a yielded borrow · case 04

An empty iterator summary invents a yielded borrow.

Borrow checking◈ Members↗
FA-43985

An empty iterator summary invents a yielded borrow · case 05

An empty iterator summary invents a yielded borrow.

Borrow checking◈ Members↗
FA-43986

Destroying an iterator invalidates an independently owned yielded value · case 01

Destroying an iterator invalidates an independently owned yielded value.

Borrow checking● Open access↗
FA-43987

Destroying an iterator invalidates an independently owned yielded value · case 02

Destroying an iterator invalidates an independently owned yielded value.

Borrow checking◈ Members↗
FA-43988

Destroying an iterator invalidates an independently owned yielded value · case 03

Destroying an iterator invalidates an independently owned yielded value.

Borrow checking◈ Members↗
FA-43989

Destroying an iterator invalidates an independently owned yielded value · case 04

Destroying an iterator invalidates an independently owned yielded value.

Borrow checking◈ Members↗
FA-43990

Destroying an iterator invalidates an independently owned yielded value · case 05

Destroying an iterator invalidates an independently owned yielded value.

Borrow checking◈ Members↗
FA-43991

Reference freezing is treated as reversible to exclusive access · case 01

Reference freezing is treated as reversible to exclusive access.

Borrow checking● Open access↗
FA-43992

Reference freezing is treated as reversible to exclusive access · case 02

Reference freezing is treated as reversible to exclusive access.

Borrow checking◈ Members↗
FA-43993

Reference freezing is treated as reversible to exclusive access · case 03

Reference freezing is treated as reversible to exclusive access.

Borrow checking◈ Members↗
FA-43994

Reference freezing is treated as reversible to exclusive access · case 04

Reference freezing is treated as reversible to exclusive access.

Borrow checking◈ Members↗
FA-43995

Reference freezing is treated as reversible to exclusive access · case 05

Reference freezing is treated as reversible to exclusive access.

Borrow checking◈ Members↗
FA-43996

Unsizing manufactures a new referent allocation identity · case 01

Unsizing manufactures a new referent allocation identity.

Borrow checking● Open access↗
FA-43997

Unsizing manufactures a new referent allocation identity · case 02

Unsizing manufactures a new referent allocation identity.

Borrow checking◈ Members↗
FA-43998

Unsizing manufactures a new referent allocation identity · case 03

Unsizing manufactures a new referent allocation identity.

Borrow checking◈ Members↗
FA-43999

Unsizing manufactures a new referent allocation identity · case 04

Unsizing manufactures a new referent allocation identity.

Borrow checking◈ Members↗
FA-44000

Unsizing manufactures a new referent allocation identity · case 05

Unsizing manufactures a new referent allocation identity.

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 ↗