Repository navigation
Open
Labels
B-unstableBlocker: Implemented in the nightly compiler and unstable.Blocker: Implemented in the nightly compiler and unstable.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCF-wasi_ext`#[feature(wasi_ext)]``#[feature(wasi_ext)]`O-wasmTarget: WASM (WebAssembly), http://webassembly.org/Target: WASM (WebAssembly), http://webassembly.org/T-libsRelevant to the library team, which will review and decide on the PR/issue.Relevant to the library team, which will review and decide on the PR/issue.
Description
The feature gate for the issue is #![feature(wasi_ext)].
About tracking issues
Tracking issues are used to record the overall progress of implementation.
They are also uses as hubs connecting to other relevant issues, e.g., bugs or open design questions.
A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature.
Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.
Steps
- Adjust documentation (see instructions on rustc-dev-guide)
- Stabilization PR (see instructions on rustc-dev-guide)
Unresolved Questions
When should this be stabilized? Is wasi as a specification stable enough for wasi-specific APIs to be included in std?
Implementation history
Reacted by Jacob Pratt, Theo Paris, Jonathan Cammisuli, Ho Kim, Paul Wekesa, Eduardo M. Rodrigues and Greg Furman
Metadata
Metadata
Assignees
Labels
B-unstableBlocker: Implemented in the nightly compiler and unstable.Blocker: Implemented in the nightly compiler and unstable.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCF-wasi_ext`#[feature(wasi_ext)]``#[feature(wasi_ext)]`O-wasmTarget: WASM (WebAssembly), http://webassembly.org/Target: WASM (WebAssembly), http://webassembly.org/T-libsRelevant to the library team, which will review and decide on the PR/issue.Relevant to the library team, which will review and decide on the PR/issue.
Activity
Rollup merge of rust-lang#87081 - a1phyr:add_wasi_ext_tracking_issue,…
Rollup merge of rust-lang#87081 - a1phyr:add_wasi_ext_tracking_issue,…
Rollup merge of rust-lang#87081 - a1phyr:add_wasi_ext_tracking_issue,…
Fix wasm build
bstrie commentedon Apr 7, 2022
Does anyone know what the status of this feature is?
a1phyr commentedon Apr 13, 2022
I don't think we want to stabilize this feature while WASI is not stable itself.
alyssais commentedon Oct 7, 2022
Fix wasm build
banocean commentedon Jan 31, 2024
Are we talking about WASI 1.0 or including following APIs in WASI specification (which just happened as part of WASI Preview 2)?
Fix wasm build
thaliaarchi commentedon Feb 18, 2025
Following #137165 (Use
tellfor<File as Seek>::stream_position),tellis now directly exposed viastream_position, making<File as FileExt>::tellredundant. I propose to remove it in #137205.Rollup merge of rust-lang#137205 - thaliaarchi:remove-wasi-fileext-te…
Rollup merge of rust-lang#137205 - thaliaarchi:remove-wasi-fileext-te…
Unrolled build for rust-lang#137205
Rollup merge of #137205 - thaliaarchi:remove-wasi-fileext-tell, r=ale…
Rollup merge of rust-lang#137205 - thaliaarchi:remove-wasi-fileext-te…
Rollup merge of rust-lang#137205 - thaliaarchi:remove-wasi-fileext-te…
eduardomourar commentedon Aug 2, 2026
Concrete downstream consumer, in case it's useful signal for prioritization: uutils/coreutils#13625 needed
MetadataExt::ino/dev/nlinkandstd::os::wasi::fs::symlinkonwasm32-wasiand, lacking stable access, worked around it with a directrustix::fs::stat/symlinkdependency instead (seeuucore::fs::FileInformationandcp::symlink_filein that PR). A stable subset ofwasi_ext(at least theMetadataExtinode/device accessors) would let it drop that workaround and match the Unix code path structurally.a1phyr commentedon Aug 3, 2026
I'd like to add that we should probably stabilize most of the API, as wasip1 won't change again at this point.
wasm: link for wasm32-wasip1 and route the filesystem through WASI (#628