File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -708,6 +708,13 @@ fn count_matching(findings: &[FindingLite], cov: &Coverage) -> usize {
708708 . count ( )
709709}
710710
711+ /// Return whether a finding falls within the declared coverage, ignoring its claim.
712+ ///
713+ /// Category names and canonical rule IDs match case-insensitively, ignoring
714+ /// non-alphanumeric characters. File coverage uses a case-sensitive substring
715+ /// match against the finding's file text before the first `:`; an empty value
716+ /// matches any present file. File coverage without file text and free-form
717+ /// coverage never match.
711718fn matches_coverage ( f : & FindingLite , cov : & Coverage ) -> bool {
712719 match cov. kind {
713720 CoverageKind :: Category => eq_loose ( & category_name ( & f. category ) , & cov. value ) ,
Original file line number Diff line number Diff line change @@ -489,7 +489,7 @@ impl WeakPointCategory {
489489 /// consumer reads (SARIF `ruleId`, VeriSimDB hexads, the query DSL,
490490 /// proof coverage `rule:` annotations, the verdict grid). IDs are a
491491 /// public contract: never renumber an existing category; a new category
492- /// takes a new ID. `tests ::rule_ids_are_stable` locks the table.
492+ /// takes a new ID. `rule_id_tests ::rule_ids_are_stable` locks the table.
493493 pub const fn rule_id ( self ) -> & ' static str {
494494 match self {
495495 WeakPointCategory :: UncheckedAllocation => "PA001" ,
You can’t perform that action at this time.
0 commit comments