-
Notifications
You must be signed in to change notification settings - Fork 153
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor "unique overloads" check (#4127)
Previously, this check relied on identifying when a set of overloads with the same key had multiple greatest / least elements. This is too strong in the presence of Y-shaped overload sets; the solution is instead to check that all the productions that share an overload key are in the same connected component of the overload POSet.[^1] Fixes an issue in the WASM semantics (https://github.com/runtimeverification/wasm-semantics/blob/master/wasm.md?plain=1#L62-L65) reported by @virgil-serbanuta, where a spurious warning was being generated: https://runtimeverification.slack.com/archives/C7E701MFG/p1711124927666709 The PR includes a reproduction of Virgil's issue, which breaks with K `6.3.58` and is fixed by this change. [^1]: Except for user lists, which must partition into precisely two connected components: one for the cons case and one for the terminator.
- Loading branch information
Showing
2 changed files
with
42 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters