You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At the WebAssembly level, Grain "any" types are i32s but this block needs to return an i64 like the others. We got around this before by this being a call_indirect—we just lied about what type fail returned. At runtime, instead of raising Failure, this is a call_indirect typechecking error.
Essentially, we need a compiler primitive for fail which can print the error and then generate unreachable. (But we can't do that until the enum refactor is done because Failure would need to be baked into the compiler.)
At the WebAssembly level, Grain "any" types are i32s but this block needs to return an i64 like the others. We got around this before by this being a
call_indirect
—we just lied about what typefail
returned. At runtime, instead of raisingFailure
, this is a call_indirect typechecking error.Essentially, we need a compiler primitive for
fail
which can print the error and then generateunreachable
. (But we can't do that until the enum refactor is done becauseFailure
would need to be baked into the compiler.)Originally posted by @ospencer in #1175 (comment)
The text was updated successfully, but these errors were encountered: