Component bindgen fails when a parameter or field is named `b`
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
- 72/100
Direção de pesquisa
O bug está no gerador de código em src/hyperlight_component_util/src/hl.rs, onde o decodificador armazena contadores de bytes em uma variável local chamada b que colide com um parâmetro ou campo WIT chamado b; a issue aponta a linha 64 como primeira ocorrência. Reproduza com o trecho WIT da issue usando host_bindgen!, depois encontre no hl.rs as outras variáveis locais de contador que reutilizam esse padrão. Está concluído quando o código gerado compila para nomes WIT b e os contadores usam nomes derivados de id.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
host_bindgen! output doesn't compile when a WIT parameter or record field is named b:
package a:b;
world w { export f: func(a: u32, b: string) -> u32; }
error[E0608]: cannot index into a value of type `usize`
let b_field = &r#b[b_cursor..];
The generated decoder stores byte counts in a local named b, for example at hl.rs#L64. The WIT name b becomes the identifier r#b, which is the same name, so the counter shadows the value. The same pattern appears in several other places in hl.rs.
The counters need names that can't collide with WIT names, for example derived from id as other temporaries are.
- 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 78/100
hyperlight-dev/hyperlight#1939 ·
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 1/5 Menos de uma hora Facilidade para iniciantes 88/100
pop-os/cosmic-comp#2956 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
area:release criticality:p3 documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
registrystack/registry-stack#2085 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
libp2p/rust-libp2p#6694 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
EmbarkStudios/cargo-deny#910 ·