filter: separate the compiled bodies in the checksum, a name moving between them was invisible

This commit is contained in:
2026-08-14 02:09:25 +02:00
parent 1bce81eea0
commit 21c5ce1f36
6 changed files with 274 additions and 87 deletions
+2 -3
View File
@@ -111,9 +111,8 @@ pub const SourceStats = struct {
skipped_regex_count: i64,
skipped_unsupported_count: i64,
/// Lowercase hex sha256 over the `.list` body, then the `.wild` body, then
/// the `.allow` body. The allow body is hashed last so an empty one leaves
/// the digest of a two-body compile unchanged, which is what keeps a
/// checksum written before exceptions were honoured valid.
/// the `.allow` body, each followed by `compiler.body_separator` so the
/// digest cannot confuse a name in one body with the same name in another.
checksum: []const u8,
};