bytecodealliance / bytecodealliance/wit-bindgen
[rust-macro] generate! should allow defering handling exports to dependent crates
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Rust
- Sterne
- 1.5k
- Forks
- 288
- Ø Merge
- 6 Std. 32 Min.
- Gemergte PRs (30 T.)
- 19
Beschreibung
See discussion here: https://bytecodealliance.zulipchat.com/#narrow/stream/327223-wit-bindgen/topic/external.20export.20implementations/near/387677837
I also want this feature. It kind of used to exist with the old export macro approach that was replaced when resource type support was added. You used to be able to have one library crate that called `generate!` and exported the "export" macro to any dependent crates who could then bind the exports of the world. When resource types were added the API changed to force the invoker of `generate!` to specify what interfaces it was exporting and implement them right then and there (at least that's my understanding).
As @alexcrichton mentioned wastime's `bindgen!` macro lets you do something like this already with more sophisticated macro parameters. Perhaps this approach could be applied here too.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Lies zuerst die verlinkte Zulip-Diskussion und vergleiche dann das hier beschriebene Verhalten des rust-macro `generate!` mit dem Makro `bindgen!` von wastime. Das Feature ist vollständig, wenn ein Library-Crate `generate!` aufrufen kann und abhängige Crates die Verarbeitung von Exporten aufschieben und die Exporte der Welt binden können.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust, wasm
- Bereich
- developer-experience, tooling
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 20/100