Component bindgen fails when a parameter or field is named `b`
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
Direzione di ricerca
Il bug si trova nel generatore di codice in src/hyperlight_component_util/src/hl.rs, dove il decoder memorizza i contatori di byte in una variabile locale chiamata b che entra in collisione con un parametro o campo WIT chiamato b; l'issue collega la riga 64 come prima occorrenza. Riproduci il problema con lo snippet WIT dell'issue tramite host_bindgen!, quindi cerca in hl.rs le altre variabili locali contatore che riutilizzano questo schema. È completato quando il codice generato compila per i nomi WIT b e i contatori usano nomi derivati da id.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Rust
- Stelle
- 4.7k
- Fork
- 217
- Merge medio
- 2g 55m
- PR unite (30g)
- 56
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di hyperlight-dev/hyperlight
-
lifecycle/needs-review
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
hyperlight-dev/hyperlight#1939 ·
I maintainer di solito rispondono entro 1 giorno
-
lifecycle/needs-review
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
hyperlight-dev/hyperlight#1842 ·
I maintainer di solito rispondono entro 1 giorno
-
lifecycle/needs-review
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
hyperlight-dev/hyperlight#1836 ·
I maintainer di solito rispondono entro 1 giorno
-
Remove `UninitializedSandbox` and `SandboxConfiguration` from the public APIForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertalifecycle/needs-review
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
hyperlight-dev/hyperlight#1804 ·
I maintainer di solito rispondono entro 1 giorno
-
lifecycle/confirmed
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
hyperlight-dev/hyperlight#1700 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di hyperlight-dev/hyperlight
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
pop-os/cosmic-comp#2956 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
area:release criticality:p3 documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
registrystack/registry-stack#2085 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
libp2p/rust-libp2p#6694 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
EmbarkStudios/cargo-deny#910 ·