Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Component bindgen generates invalid Rust for one-element tuples

Aberta Para iniciantes
#1,939 0 comentários 0 reações 0 responsáveis Ver no GitHub

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
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
rust, wasm
Domínio
devtools

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

lifecycle/needs-review

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

Abrir no Codespaces

Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de hyperlight-dev/hyperlight

Todas as issues de hyperlight-dev/hyperlight

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

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