Third pass over src/mux/. 40 survivors killed, no production change.
resolve.rs — the deleted-statement cluster is now fully constrained.
All 14 deletable statements probed; 9 were already caught, 5 survived:
c.sort_unstable() in fill_base_key_gaps. Every existing case handed
it cuts already in LBA order, but IndividualSegment.tbl is a record
list. Verified on HEAD: deleting the sort passes all 54 resolve
tests. The mutant lays a base-key fill straight over a forensic
segment.
last_idx = idx (FMTS gap fill) and last_idx = hit (multi-CPS cache
hit). An extent with nothing to sample must inherit its neighbour's
CPS unit; the mutants fall back to the first unit's key. Exactly the
shape this file's own comments name — wrong key, no error,
lost_bytes == 0.
Both check_halt()? polls in probe_fmts_index_keys. These cannot be
killed by outcome, since a later poll returns Halted too. The tests
count reads instead, which is what the don't-hammer-a-struggling-
drive rule actually says: after a Stop the drive is asked for zero
content sectors.
The four unresolved += 1 arms each got a test, and deleting each fails
exactly one — one-to-one, so no fixture passes for the wrong reason. A
control test pins that the baseline table resolves, so an expect_err
cannot succeed for an unrelated reason.
ts.rs::scan_streams was never entered. Six killed, two of which return
wrong answers that look right: reading the PAT/PMT CRC as a table entry
invents a stream on PID 546 out of CRC bytes, and dropping the
ES_info_length skip decodes a descriptor as an entry and loses the one
after it. Every existing PMT fixture declares ES_info_length = 0; a
real BD PMT carries a registration descriptor on essentially every
entry. Also ISO/IEC 13818-1 2.4.4.3 program_number == 0 is the network
PID, not a program.
mp4/read.rs — 13. Height read as the width beside it; channelcount;
the 4-byte base-128 descriptor varint (every existing esds fixture uses
a single byte); all three optional ES_Descriptor fields, whose loss is
silent (an AAC track just loses its CodecPrivate); first-vs-last media
edit, which is A/V desync of the difference; and the version-1 mvhd
timescale offset, emitted by any writer whose duration exceeds 32 bits.
dts.rs — 7, from a real cargo-mutants run over the file rather than
guesswork. Including a buffer that IS the syncword, which is the state
a sync split across PES packets lands in the moment its last byte
arrives.
Equivalents proven by application, not argued: the sample_encrypted_units
guard pair is mutually redundant by construction (total*p/9 < total for
p <= 8), so either alone is equivalent and both together are not; the
PMT section_len guard is dead code where its PAT twin panics; three of
the seven EXSS_HEADER_MIN_BYTES arithmetic mutants still sum to 10.