unsplat component::Linker::func_wrap args (#5065)

* component::Linker::func_wrap: replace IntoComponentFunc with directly accepting a closure

We find that this makes the Linker::func_wrap type signature much easier
to read. The IntoComponentFunc abstraction was adding a lot of weight to
"splat" a set of arguments from a tuple of types into individual
arguments to the closure. Additionally, making the StoreContextMut
argument optional, or the Result<return> optional, wasn't very
worthwhile.

* Fixes for the new style of closure required by component::Linker::func_wrap

* fix fuzzing generator
This commit is contained in:
Pat Hickey
2022-10-18 07:24:14 -07:00
committed by GitHub
parent 32a7593c94
commit 78ecc17d0f
10 changed files with 107 additions and 176 deletions

View File

@@ -158,7 +158,7 @@ macro_rules! define_static_api_test {
.func_wrap(
IMPORT_FUNCTION,
|cx: StoreContextMut<'_, Box<dyn Any>>,
$($param_name: $param,)*|
($($param_name,)*): ($($param,)*)|
{
log::trace!("received parameters {:?}", ($(&$param_name,)*));
let data: &($($param,)* R,) =