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.
Use WIT definition for importing host functions as per lunatic-solutions/lunatic#86 (comment)
This is an initial attempt at using wit-bindgen crate to generate wasm function imports. Currently, I only have experimented with using wit-bindgen on the rust-lib and it has passed all the unit tests.
There are several design changes/sacrifice that was made to the VM and rust-lib to get this to work:
.wit
files, identifiers are strictly in kebab-case. In order to comply with wit-bindgen, I had to rename the module name and the function name.unnecessary unsafe block
warning. I am unsure if there are negative implications of removing them that I am not aware of.I think we might be cautious about depending on
.wit
files at this time because according to the readme of wit-bindgen, the library is not yet stable and the.wit
format does not have a formal definition yet (bytecodealliance/wit-bindgen#251 (comment)).Those are some of my thoughts and I would love some feedback.