Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Tracking issue for WASIp3

Aberta
#141 6 comentários 1 reação 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
32/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
rust, wasm

Direção de pesquisa

Leia o Plan e as Breaking Changes, depois abra um item não marcado da checklist, como #145, #148 ou #151, e inspecione a implementação correspondente de WASIp2 no subsistema nomeado. Compare o tratamento atual de target e features com os requisitos do WASIp3. Está concluído quando o subsistema selecionado estiver implementado para WASIp3 e seu caminho de CI de desenvolvimento funcionar.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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
Linguagem predominante
Rust
Estrelas
138
Forks
21
Merge médio
6d 2h
PRs com merge (30d)
8

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de bytecodealliance/wstd

Todas as issues de bytecodealliance/wstd

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.