Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Tracking issue for WASIp3

Offen
#141 6 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
32/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
rust, wasm

Rechercherichtung

Lies den Plan und die Breaking Changes, öffne dann ein nicht abgehaktes Checklistenelement wie #145, #148 oder #151 und untersuche die entsprechende WASIp2-Implementierung im genannten Subsystem. Vergleiche die aktuelle Behandlung von Target und Features mit den Anforderungen von WASIp3. Erledigt bedeutet, dass das ausgewählte Subsystem für WASIp3 implementiert ist und sein Entwicklungs-CI-Pfad funktioniert.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Plan

The ultimate goal is to have wstd use WASIp2 when compiled to wasm32-wasip2 and WASIp3 when compiling to wasm32-wasip3, with essentially the same APIs.

Until https://github.com/rust-lang/rust/pull/161940 has landed we'll create mutually exclusive p2 and p3 features on wstd, where p2 will be enabled by default and p3 will only be run in CI during development, not meant for actual use. Then we can switch the feature directives to target_env directives when the work is complete and wasm32-wasip3 is tier 2.

Breaking Changes

  • The stream APIs in io and TCP APIs in net work with & references and will switch to requiring &mut. This is because p2 is a single threaded environment, whereas p3 is not. This change will be made to both targets to keep them in sync.
  • Some APIs expose the underlying WASIp2 types (e.g. AsyncInputStream::new takes a wasip2::InputStream) these will naturally change to use the equivalent WASIp3 types. This will only be breaking when upgrading to the WASIp3 target.
  • (Up for discussion) The wasip3 crate has its own Task type which wstd could use directly instead of async_task::Task. If done this would be another breaking change between the two targets.

Checklist

  • #144
  • #145
  • #148
  • #152
  • #153
  • #154
  • #155
  • #161
  • #164
  • Implement wstd-axum on WASIp3
  • #147
  • (Optional) Switch from async_task::Task to wasip3::Task
  • #151
Vorherrschende Sprache
Rust
Sterne
138
Forks
21
Ø Merge
5 T. 12 Std.
Gemergte PRs (30 T.)
7

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus bytecodealliance/wstd

Alle Issues in bytecodealliance/wstd

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.