bytecodealliance / bytecodealliance/ComponentizeJS

Async func exports unimplemented in bindgen

未關閉
#335 2 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Rust
星號
391
分支
53
平均合併
3 天 5 小時
30 天內合併 PR
1

描述

`componentize-js` 0.20.0 panics with `not yet implemented` when a WIT world exports an async function, because the export path in `spidermonkey-embedding-splicer/src/bindgen.rs` hits `todo!()` for all three async function kinds:

https://github.com/bytecodealliance/ComponentizeJS/blob/main/crates/spidermonkey-embedding-splicer/src/bindgen.rs#L485-L487

```rust
FunctionKind::AsyncFreestanding => todo!(),
FunctionKind::AsyncMethod(_id) => todo!(),
FunctionKind::AsyncStatic(_id) => todo!(),
```

This blocks targeting any WIT world whose exports use `async func`, including the component-model-async style used by wasmtime 43's `component-model-async` feature and WASI preview 3 worlds that declare async exports.

貢獻指南

這個儲存庫沒有索引到貢獻指南

研究方向

從 spidermonkey-embedding-splicer/src/bindgen.rs 中 485-487 行附近的 FunctionKind match 開始,接著追蹤周圍的匯出路徑,以及它對同步函式的處理方式。完成的標準是,async 的獨立函式、方法和靜態匯出不再命中 todo!(),並且可以處理一個匯出 async 的 WIT world,而不會出現報告中的 panic。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
rust, wasm
領域
tooling
Issue 類型
功能
難度
4/5
預估耗時
3-5 天
活躍度
冷清
描述清晰度
基本清楚
新手友好度
48/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。