bytecodealliance / bytecodealliance/wit-bindgen

No longer able to generate bindings in submodule

Aperta
#973 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Rust
Stelle
1.5k
Fork
286
Merge medio
6h 32m
PR unite (30g)
19

Descrizione

The following works in the latest release but not on main:

```wit
package my-ns:my-package;

interface my-interface {
my-func: func();
}

world my-world {
import my-interface;
export my-interface;
}
```

```rust
mod bindings {
wit_bindgen::generate!({
path: "wit",
});
}

use bindings::exports::my_ns::my_package::my_interface::Guest;

bindings::export!(Impl);

struct Impl;

impl Guest for Impl {
fn my_func() {}
}
```

On the main, the following error shows:

```
error[E0433]: failed to resolve: could not find `export` in the crate root
--> src/lib.rs:3:5
|
3 | / wit_bindgen::generate!({
4 | | path: "wit",
5 | | });
| |______^ could not find `export` in the crate root
...
10 | bindings::export!(Impl);
| ----------------------- in this macro invocation
```

Seems we're now assuming something lives at the crate root which we did not assume before.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia riproducendo il fallimento dagli snippet WIT e Rust, concentrandoti su src/lib.rs e sui punti di ingresso wit_bindgen::generate! e bindings::export!. Esamina il percorso di binding generato e verifica che l’esempio di sottomodulo venga compilato su main come nell’ultima release, senza l’errore di esportazione alla radice del crate.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
rust, wasm
Ambito
tooling
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.