Add a wasmtime::component::bindgen! macro (#5317)
* Import Wasmtime support from the `wit-bindgen` repo 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. * Refactor `wasmtime-component-macro` a bit Make room for a `wit_bindgen` macro to slot in. * Add initial support for a `bindgen` macro * Add tests for `wasmtime::component::bindgen!` * Improve error forgetting `async` feature * Add end-to-end tests for bindgen * Add an audit of `unicase` * Add a license to the test-helpers crate * Add vet entry for `pulldown-cmark` * Update publish script with new crate * Try to fix publish script * Update audits * Update lock file
This commit is contained in:
51
crates/component-macro/tests/codegen/many-arguments.wit
Normal file
51
crates/component-macro/tests/codegen/many-arguments.wit
Normal file
@@ -0,0 +1,51 @@
|
||||
interface manyarg {
|
||||
many-args: func(
|
||||
a1: u64,
|
||||
a2: u64,
|
||||
a3: u64,
|
||||
a4: u64,
|
||||
a5: u64,
|
||||
a6: u64,
|
||||
a7: u64,
|
||||
a8: u64,
|
||||
a9: u64,
|
||||
a10: u64,
|
||||
a11: u64,
|
||||
a12: u64,
|
||||
a13: u64,
|
||||
a14: u64,
|
||||
a15: u64,
|
||||
a16: u64,
|
||||
)
|
||||
|
||||
record big-struct {
|
||||
a1: string,
|
||||
a2: string,
|
||||
a3: string,
|
||||
a4: string,
|
||||
a5: string,
|
||||
a6: string,
|
||||
a7: string,
|
||||
a8: string,
|
||||
a9: string,
|
||||
a10: string,
|
||||
a11: string,
|
||||
a12: string,
|
||||
a13: string,
|
||||
a14: string,
|
||||
a15: string,
|
||||
a16: string,
|
||||
a17: string,
|
||||
a18: string,
|
||||
a19: string,
|
||||
a20: string,
|
||||
}
|
||||
|
||||
big-argument: func(x: big-struct)
|
||||
}
|
||||
|
||||
world the-world {
|
||||
import imports: manyarg
|
||||
export exports: manyarg
|
||||
default export manyarg
|
||||
}
|
||||
Reference in New Issue
Block a user