-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Add a wasmtime::component::bindgen!
macro
#5317
Add a wasmtime::component::bindgen!
macro
#5317
Conversation
Subscribe to Label Actioncc @kubkon
This issue or pull request has been labeled: "wasi"
Thus the following users have been cc'd because of the following labels:
To subscribe or unsubscribe from this label, edit the |
Of particular note, I've added |
This bindings generator has been moved to the `wasmtime` crate upstream as part of bytecodealliance/wasmtime#5317. This is another step along the road of bytecodealliance#395. The Wasmtime-hosted tests are all removed here as well but may get re-added in the future for testing as necessary.
This bindings generator has been moved to the `wasmtime` crate upstream as part of bytecodealliance/wasmtime#5317. This is another step along the road of bytecodealliance#395. The Wasmtime-hosted tests are all removed here as well but may get re-added in the future for testing as necessary.
db022c5
to
d2e6ccc
Compare
Subscribe to Label Actioncc @peterhuene
This issue or pull request has been labeled: "wasmtime:api"
Thus the following users have been cc'd because of the following labels:
To subscribe or unsubscribe from this label, edit the |
This commit imports the `wit-bindgen-gen-host-wasmtime-rust` crate from the `wit-bindgen` repository into the upstream Wasmtime repository. I've chosen to not import the full history here since the crate is relatively small and doesn't have a ton of complexity. While the history of the crate is quite long the current iteration of the crate's history is relatively short so there's not a ton of import there anyway. The thinking is that this can now continue to evolve in-tree.
Make room for a `wit_bindgen` macro to slot in.
d2e6ccc
to
85d70a1
Compare
This bindings generator has been moved to the `wasmtime` crate upstream as part of bytecodealliance/wasmtime#5317. This is another step along the road of #395. The Wasmtime-hosted tests are all removed here as well but may get re-added in the future for testing as necessary.
This bindings generator has been moved to the `wasmtime` crate upstream as part of bytecodealliance/wasmtime#5317. This is another step along the road of #395. The Wasmtime-hosted tests are all removed here as well but may get re-added in the future for testing as necessary.
This PR represents merging the
wit-bindgen-gen-host-wasmtime-rust
crate from thewit-bindgen
repository into this repository. This is made possible by recent infrastructural work around movement of the dependencies involved here, and this is the final process of extracting the macro to this repository. This commit creates abindgen!
macro in thewasmtime::component
submodule. which is thewit_bindgen_host_wasmtime_rust::generate
macro, more-or-less.A new
crates/wit-bindgen
folder is created here with awasmtime-wit-bindgen
crate which is the current contents of the generation in thewit-bindgen
repsitory. I opted to not merge the full history here since recent revisions by Pat have removed most of the historical support of lifting/lowering/async/etc so the history isn't really all that interesting. Additionally parts of thewit-bindgen-core
and various other crates were merged in here and adapted to just work for this wasmtime generator.This is intended to be the "final" interface for how developers will work with
*.wit
files and Wasmtime. Thisbindgen!
macro takes in a*.wit
file and will, hopefully, forevermore be how this all works. This is all included in thewasmtime
crate when thecomponent-model
feature is enabled. Further development of this macro is expected to happen in this repository, not externally. I'll in short order delete the sources in thewit-bindgen
repository in favor of the sources here.Tests have been migrated here, mostly the
codegen
ones. Otherwise though the component model is already thoroughly tested so theruntime/*/host.rs
tests were not migrated. A few small ones have been added to ensure that the generated structure works but otherwise testing is largely left to the already tested embedding API.