Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Tracking issue for WASIp3

Ouverte
#141 6 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 5 jours

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
32/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Active
Stack technique
rust, wasm

Piste de recherche

Lisez le Plan et les Breaking Changes, puis ouvrez un élément de checklist non coché tel que #145, #148 ou #151 et examinez l’implémentation WASIp2 correspondante dans le sous-système indiqué. Comparez la gestion actuelle de sa target et de ses features avec les exigences de WASIp3. C’est terminé lorsque le sous-système sélectionné est implémenté pour WASIp3 et que son chemin de CI de développement fonctionne.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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
Langage dominant
Rust
Étoiles
136
Forks
21
Merge moyen
5 j 6 h
PR mergées (30 j)
11

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de bytecodealliance/wstd

Toutes les issues de bytecodealliance/wstd

Issues similaires

Plus d'issues Rust

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.