bytecodealliance / bytecodealliance/ComponentizeJS
Async func exports unimplemented in bindgen
- 主要言語
- Rust
- スター
- 391
- フォーク
- 53
- 平均マージ
- 3日 5時間
- マージ済み PR(30日)
- 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 の freestanding、メソッド、static エクスポートが todo!() に到達しなくなり、async をエクスポートする WIT world を報告された panic なしで処理できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- rust, wasm
- 領域
- tooling
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 48/100