summaryrefslogtreecommitdiff
path: root/src/support/index.h
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2022-02-07 11:58:53 -0800
committerGitHub <noreply@github.com>2022-02-07 11:58:53 -0800
commitca4c474432b053febfc184e6c27f15419ef6f601 (patch)
tree039ec11c5625efd0d1d5d14d30db136e7668682e /src/support/index.h
parentab6469865af5e639e1ba3baaa64f519f42b9032e (diff)
downloadbinaryen-ca4c474432b053febfc184e6c27f15419ef6f601.tar.gz
binaryen-ca4c474432b053febfc184e6c27f15419ef6f601.tar.bz2
binaryen-ca4c474432b053febfc184e6c27f15419ef6f601.zip
Validate supertypes after isorecursive canonicalization (#4506)
Validating nominally declared supertypes depends on being able to test type equality, which in turn depends on the compared types having already been canonicalized. Previously we validated supertypes before canonicalization, so validation would fail in cases where it should have succeeded. Fix the bug by canonicalizing first. This means that the global type store can now end up holding invalid types, but those types will never be exposed to the user, so that's not a huge problem. Also fix an unrelated bug that was preventing the test from passing, which is that supertypes were being hashed and compared without the special logic for detecting self-references. This bug preventing the equivalent recursion groups in the test from being deduplicated.
Diffstat (limited to 'src/support/index.h')
0 files changed, 0 insertions, 0 deletions