Component bindgen generates invalid Rust for one-element tuples
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 78/100
Direção de pesquisa
A saída incorreta vem de emit_value em src/hyperlight_component_util/src/rtypes.rs, que escreve uma tupla de um elemento como (u16), e da construção correspondente do decodificador em src/hyperlight_component_util/src/hl.rs, perto da linha 263. Para reproduzir, execute host_bindgen! no mundo WIT de duas linhas da issue e compile a saída. Está pronto quando tuplas de um elemento emitem uma vírgula final ((u16,)) e o código gerado compila e faz o ciclo de ida e volta pelo encoder e pelo decoder.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
host_bindgen! output doesn't compile for a WIT world that uses tuple<T> with one element:
package a:b;
world w { export f: func(x: tuple<u16>) -> tuple<u16>; }
emit_value emits (u16), which Rust reads as u16, not a tuple. The decoder builds the value the same way at hl.rs#L263, and the encoder then fails on .0.
A one-element tuple needs a trailing comma: (u16,).
- Linguagem predominante
- Rust
- Estrelas
- 4.7k
- Forks
- 217
- Merge médio
- 2d 55min
- PRs com merge (30d)
- 56
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de hyperlight-dev/hyperlight
-
lifecycle/needs-review
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
hyperlight-dev/hyperlight#1940 ·
Mantenedores costumam responder em até 1 dia
-
lifecycle/needs-review
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
hyperlight-dev/hyperlight#1842 ·
Mantenedores costumam responder em até 1 dia
-
lifecycle/needs-review
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
hyperlight-dev/hyperlight#1836 ·
Mantenedores costumam responder em até 1 dia
-
Remove `UninitializedSandbox` and `SandboxConfiguration` from the public APITalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Abertalifecycle/needs-review
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
hyperlight-dev/hyperlight#1804 ·
Mantenedores costumam responder em até 1 dia
-
lifecycle/confirmed
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
hyperlight-dev/hyperlight#1700 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de hyperlight-dev/hyperlight
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
bherbruck/solvecraft#2167 ·
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
bitcoindevkit/bdk-cli#357 ·
Mantenedores costumam responder em até 3 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
Wavvon/Wavvon-clients#136 ·
Mantenedores costumam responder em até 1 dia
-
GUI:纯报告任务验收后误显示“已合并”Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
vorton-lang/Lobotomy#95 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 63/100
AimesSoft/NipaPlay-Reload#1022 ·
Mantenedores costumam responder em até 1 dia