bytecodealliance / bytecodealliance/ComponentizeJS
Async func exports unimplemented in bindgen
- 主要語言
- 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