Implement reusable interface conformance rules

This commit is contained in:
Timothy J. Aveni
2026-09-23 00:17:13 -07:00
parent 20e9f4b056
commit 8455599c3c
14 changed files with 2387 additions and 1638 deletions
+8 -1
View File
@@ -708,7 +708,14 @@ const collectIdentityIndexes = (
issues,
"duplicate-conformance",
path,
`Duplicate conformance for ${conformance.atomId} as ${conformance.interfaceRevisionId}`,
`Duplicate conformance for ${conformance.atomId} as ${conformance.interfaceRevisionId}: ` +
[conformances.get(key)!, conformance]
.map((candidate) =>
candidate.ruleOrigin
? `rule ${candidate.ruleOrigin.ruleId} from ${candidate.ruleOrigin.sourceInterfaceRevisionId} at line ${candidate.ruleOrigin.line}`
: `conformance ${candidate.id ?? "(unnamed)"}`,
)
.join(" conflicts with "),
);
} else {
conformances.set(key, conformance);