diff options
author | Thomas Lively <7121787+tlively@users.noreply.github.com> | 2021-11-19 16:16:42 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-19 16:16:42 -0800 |
commit | d532e3a4b02375fe85a2e81be336a181e6bdc10b (patch) | |
tree | 222e18bc63327c22b98c64e29a903a461d731c60 /src/tools/fuzzing/fuzzing.cpp | |
parent | be672c057bcb39b27f34f4031eea747bd72161d2 (diff) | |
download | binaryen-d532e3a4b02375fe85a2e81be336a181e6bdc10b.tar.gz binaryen-d532e3a4b02375fe85a2e81be336a181e6bdc10b.tar.bz2 binaryen-d532e3a4b02375fe85a2e81be336a181e6bdc10b.zip |
Allow building basic HeapTypes in nominal mode (#4346)
As we work toward allowing nominal and structural types to coexist, any
difference in how they can be built or used will be an inconvenient footgun that
we will have to work around. In the spirit of reducing the differences between
the type systems, allow TypeBuilder to construct basic HeapTypes in nominal mode
just as it can in equirecursive mode.
Although this change is a net increase in code complexity for not much
benefit (wasm-opt never needs to build basic HeapTypes), it is also an
incremental step toward getting rid of separate type system modes, so I expect
it to simplify other PRs in the near future.
This change also uncovered a bug in how the type fuzzer generated subtypes of
basic HeapTypes. The generated subtypes did not necessarily have the intended
`Kind`, which caused failures in nominal subtype validation in the fuzzer.
Diffstat (limited to 'src/tools/fuzzing/fuzzing.cpp')
0 files changed, 0 insertions, 0 deletions