You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Settle a pending inline snapshot by member when its line has moved
A queue entry is keyed by source file and line, and the line stops being
true the moment an accept inserts a literal above it: a snapshot is
several lines of source, so accepting one call site moves every later one
in that file. The entries left behind could then never be settled by any
later run, because the run reports the line as it is now and the entry
still holds the line it was queued at. Verify already carries the member
on a patch for exactly this reason, but only the patcher used it.
Settle now takes the member and falls back to it when the key matches
nothing, resolving the entry within the same file. Only where the member
names exactly one entry: a member holding several inline snapshots cannot
say which of them a settle was for, and dropping the wrong one loses a
pending snapshot outright, so an ambiguous member settles nothing.
The member rides the wire as an added optional field, which an owner that
predates it reads straight past, so a newer sender still settles by key
alone against an older one.
Also adds RetireInline, for a call site that is no longer an inline
snapshot at all rather than one whose test now passes. It carries no
framework, because the statement is not 'this framework passes' but
'there is no snapshot here for any of them', so the owner takes the whole
entry instead of stripping one variant and leaving it standing on the
others. Verify calls it when a verification resolves as not inline, which
is the other half of this fix and lands there.
0 commit comments