Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #668
When reference types are enabled, which is the default in Rust 1.82,
wasm-bindgen
will generate JS where some wasm imports that were previously functions get generated as variables due to the difference in the JS/wasm interop barrier. After we bundled with esbuild we ran into the issue where a wasm import was defined after the instance was initialized, which wasn't a problem for the pre-reference type builds since functions get automatically hoisted in JS.Previously we weren't calling
wasm-bindgen
's__wbindgen_start
function but instead called ourstart
function for any function with#[event(start)]
, but when reference types are enabled this function setups the externref table. This was causing us to change the value in the externref table for theUNDEFINED
constant (index 128) to an http request causing our tests to fail. This was not fun to debug.