add ComponentType/Lift/Lower derive macro for record types (#4337)

This is the first stage of implementing
https://github.com/bytecodealliance/wasmtime/issues/4308, i.e. derive macros for
`ComponentType`, `Lift`, and `Lower` for composite types in the component model.
This stage only covers records; I expect the other composite types will follow a
similar pattern.

It borrows heavily from the work Jamey Sharp did in
https://github.com/bytecodealliance/wasmtime/pull/4217.  Thanks for that, and
thanks to both Jamey and Alex Crichton for their excellent review feedback.
Thanks also to Brian for pairing up on the initial draft.

Signed-off-by: Joel Dice <joel.dice@fermyon.com>
This commit is contained in:
Joel Dice
2022-06-29 08:38:36 -06:00
committed by GitHub
parent eef1758d19
commit 22fb3ecbbf
14 changed files with 660 additions and 46 deletions

10
Cargo.lock generated
View File

@@ -3332,6 +3332,7 @@ dependencies = [
"wasi-cap-std-sync",
"wasmparser",
"wasmtime-cache",
"wasmtime-component-macro",
"wasmtime-cranelift",
"wasmtime-environ",
"wasmtime-fiber",
@@ -3457,6 +3458,15 @@ dependencies = [
"wasmtime",
]
[[package]]
name = "wasmtime-component-macro"
version = "0.39.0"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "wasmtime-cranelift"
version = "0.39.0"