-
Notifications
You must be signed in to change notification settings - Fork 747
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incorrect validation of br_on_cast
and type difference computation
#6229
Comments
This is likely due to Separately it is odd that this does not fail to validate on the |
FWIW we do report a validation error when parsing this wat directly with |
@kripken, WDYT about supporting sent values for these branches in the IR if folks are actually trying to use them? Alternatively we could plan to lower them away in the parsers. |
|
Originally reported as WebAssembly/gc#510
This test case should fail validation with
type mismatch: expression has type (ref any) but expected eqref
. FWIW, Firefox,wasmparser
, and the reference interpreter all give that validation error, however binaryen incorrectly claims it is valid.The
br_on_cast
should be typed[externref eqref] -> [externref (ref any)]
becausediff(anyref, arrayref) = (ref any)
, but it seems like binaryen is typing it as an identity function.The text was updated successfully, but these errors were encountered: