bytecodealliance / bytecodealliance/ComponentizeJS

Async func exports unimplemented in bindgen

Aberta
#335 2 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Rust
Estrelas
391
Forks
53
Merge médio
3d 5h
PRs com merge (30d)
1

Descrição

`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.

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Direção de pesquisa

Comece em spidermonkey-embedding-splicer/src/bindgen.rs, no match de FunctionKind por volta das linhas 485-487, e então siga o caminho de exportação ao redor e o tratamento que ele faz das funções síncronas. O trabalho estará concluído quando as exportações async freestanding, de métodos e estáticas não atingirem mais todo!() e um mundo WIT que exporta async puder ser processado sem o panic relatado.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
rust, wasm
Domínio
tooling
Tipo de issue
Funcionalidade
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Pouca atividade
Clareza
Razoavelmente clara
Facilidade para iniciantes
48/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.