Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Tracking issue for WASIp3

Aperta
#141 6 commenti 1 reazione 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 5 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
32/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
rust, wasm

Direzione di ricerca

Leggi il Plan e i Breaking Changes, quindi apri un elemento della checklist non selezionato come #145, #148 o #151 e analizza l’implementazione WASIp2 corrispondente nel sottosistema indicato. Confronta la gestione attuale di target e feature con i requisiti di WASIp3. Il lavoro è completato quando il sottosistema selezionato è implementato per WASIp3 e il relativo percorso CI di sviluppo funziona.

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

Descrizione

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
Lingua principale
Rust
Stelle
136
Fork
21
Merge medio
5g 6h
PR unite (30g)
11

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di bytecodealliance/wstd

Tutte le issue di bytecodealliance/wstd

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.