Vectors: the malformed current-layout catalogs carry one entry and only its records

The older-layout reader refused the second current-layout entry on its own, so an unconditional fallback still refused the vector.
With one entry, only a store not in the older layout is refused for its malformed slot, and the fallback's condition is pinned.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Meta Vens 2026-09-30 07:32:18 +02:00
commit c08d982947
4 changed files with 3 additions and 1 deletions

View file

@ -61,4 +61,6 @@ for name, entry in (
("current-catalog-bad-members", current[:6] + [5]),
("current-catalog-bad-compat", current[:5] + [[7]] + current[6:]),
):
write(name + ".msgpack", [header, [entry] + catalog[1:], records])
# One catalog entry and the records that use it: the older-layout reader takes an entry's slot 5 for a string, so a second
# current-layout entry would make it refuse for that reason, not for the malformed slot under test.
write(name + ".msgpack", [header, [entry], [record for record in records if record[1] == current[0]]])