OhMyBug

logic/correctness

First Matching Branch Drops Second Fact

#21rare19 sightingsfirst seen August 2026

What goes wrong

A decision function is an ordered if/else (or when/CASE) ladder that returns one value from the first matching arm. An input that satisfies two arms gets whichever comes first, and the other fact is dropped or contradicted elsewhere in the same output.

Example

if (blocked) return 'Blocked'; else if (unpaid) return 'Payment due' — a customer who is both sees only 'Blocked', and the unpaid invoice never surfaces.

Not to be confused with

Not a test that never tried overlapping inputs (Unexercised Precedence Oracle); the production ladder itself cannot express the combination — compare Empty states lose their meaning.

Discovered by

Field notes · 4