FAILURE MAP
← Case archive

FA-255 / Runtime and resources / Member archive

Dropping a borrowed alias destroys a still-owned object · case 05

A borrowed pointer either keeps an object alive or decrements an ownership count it never incremented.

Member previewVariant 5 · 3 implementations · 7 checks per implementation

Case contract

The object starts with owning handle root. Events create distinct clone or borrow names, or drop an existing handle once. Cloning occurs only while a live owner exists. Borrowed handles do not extend lifetime and are not dereferenced here. Return [owning reference count,is alive,destruction transitions].

Why this case matters

Models ownership versus borrowed aliases in manual or native resource wrappers, including dangling borrow records after the last owner disappears, without executing unsafe memory access.

One recorded failure

Sample boundary fixture

This sample comes from the broken implementation of a controlled reproducer.

Boundary fixtureActualExpectedOutcome
borrows do not own[6, true, 0][1, true, 0]Failed

MEMBER ARCHIVE

The complete case is available to members.

This record includes three runnable implementations, regression fixtures, execution results, and source hashes.

Member access is invitation-based. Sign in with your invited account to inspect the sources.

Sign in to the archive ↗