bytecodealliance / bytecodealliance/ComponentizeJS

Async func exports unimplemented in bindgen

オープン
#335 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。