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