-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Labels
wasm-proposal:component-model-asyncIssues related to the WebAssembly Component Model async proposalIssues related to the WebAssembly Component Model async proposal
Description
Steps to Reproduce
apply:
diff --git a/crates/wasi/src/p3/bindings.rs b/crates/wasi/src/p3/bindings.rs
index 864d1eb8a4..02651057b8 100644
--- a/crates/wasi/src/p3/bindings.rs
+++ b/crates/wasi/src/p3/bindings.rs
@@ -38,50 +38,6 @@
//! },
//! concurrent_exports: true,
//! concurrent_imports: true,
-//! async: {
-//! only_imports: [
-//! "wasi:cli/[email protected]#get-stdin",
-//! "wasi:cli/[email protected]#set-stdout",
-//! "wasi:cli/[email protected]#set-stderr",
-//! "wasi:clocks/[email protected]#[async]wait-for",
-//! "wasi:clocks/[email protected]#[async]wait-until",
-//! "wasi:filesystem/[email protected]#[method]descriptor.read-via-stream",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.write-via-stream",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.append-via-stream",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.advise",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.sync-data",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.get-flags",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.get-type",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.set-size",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.set-times",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.read-directory",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.sync",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.create-directory-at",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.stat",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.stat-at",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.set-times-at",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.link-at",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.open-at",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.readlink-at",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.remove-directory-at",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.rename-at",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.symlink-at",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.unlink-file-at",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.is-same-object",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.metadata-hash",
-//! "wasi:filesystem/[email protected]#[async method]descriptor.metadata-hash-at",
-//! "wasi:sockets/[email protected]#[async]resolve-addresses",
-//! "wasi:sockets/[email protected]#[async method]tcp-socket.connect",
-//! "wasi:sockets/[email protected]#[async method]tcp-socket.send",
-//! "wasi:sockets/[email protected]#[async method]udp-socket.receive",
-//! "wasi:sockets/[email protected]#[async method]udp-socket.send",
-//! "wasi:sockets/[email protected]#[method]tcp-socket.bind",
-//! "wasi:sockets/[email protected]#[method]tcp-socket.listen",
-//! "wasi:sockets/[email protected]#[method]tcp-socket.receive",
-//! "wasi:sockets/[email protected]#[method]udp-socket.bind",
-//! "wasi:sockets/[email protected]#[method]udp-socket.connect",
-//! ],
-//! },
//! });
//!
//! struct MyState {
@@ -123,50 +79,6 @@ mod generated {
trappable_imports: true,
concurrent_exports: true,
concurrent_imports: true,
- async: {
- only_imports: [
- "wasi:cli/[email protected]#get-stdin",
- "wasi:cli/[email protected]#set-stdout",
- "wasi:cli/[email protected]#set-stderr",
- "wasi:clocks/[email protected]#[async]wait-for",
- "wasi:clocks/[email protected]#[async]wait-until",
- "wasi:filesystem/[email protected]#[method]descriptor.read-via-stream",
- "wasi:filesystem/[email protected]#[async method]descriptor.write-via-stream",
- "wasi:filesystem/[email protected]#[async method]descriptor.append-via-stream",
- "wasi:filesystem/[email protected]#[async method]descriptor.advise",
- "wasi:filesystem/[email protected]#[async method]descriptor.sync-data",
- "wasi:filesystem/[email protected]#[async method]descriptor.get-flags",
- "wasi:filesystem/[email protected]#[async method]descriptor.get-type",
- "wasi:filesystem/[email protected]#[async method]descriptor.set-size",
- "wasi:filesystem/[email protected]#[async method]descriptor.set-times",
- "wasi:filesystem/[email protected]#[async method]descriptor.read-directory",
- "wasi:filesystem/[email protected]#[async method]descriptor.sync",
- "wasi:filesystem/[email protected]#[async method]descriptor.create-directory-at",
- "wasi:filesystem/[email protected]#[async method]descriptor.stat",
- "wasi:filesystem/[email protected]#[async method]descriptor.stat-at",
- "wasi:filesystem/[email protected]#[async method]descriptor.set-times-at",
- "wasi:filesystem/[email protected]#[async method]descriptor.link-at",
- "wasi:filesystem/[email protected]#[async method]descriptor.open-at",
- "wasi:filesystem/[email protected]#[async method]descriptor.readlink-at",
- "wasi:filesystem/[email protected]#[async method]descriptor.remove-directory-at",
- "wasi:filesystem/[email protected]#[async method]descriptor.rename-at",
- "wasi:filesystem/[email protected]#[async method]descriptor.symlink-at",
- "wasi:filesystem/[email protected]#[async method]descriptor.unlink-file-at",
- "wasi:filesystem/[email protected]#[async method]descriptor.is-same-object",
- "wasi:filesystem/[email protected]#[async method]descriptor.metadata-hash",
- "wasi:filesystem/[email protected]#[async method]descriptor.metadata-hash-at",
- "wasi:sockets/[email protected]#[async]resolve-addresses",
- "wasi:sockets/[email protected]#[async method]tcp-socket.connect",
- "wasi:sockets/[email protected]#[async method]tcp-socket.send",
- "wasi:sockets/[email protected]#[async method]udp-socket.receive",
- "wasi:sockets/[email protected]#[async method]udp-socket.send",
- "wasi:sockets/[email protected]#[method]tcp-socket.bind",
- "wasi:sockets/[email protected]#[method]tcp-socket.listen",
- "wasi:sockets/[email protected]#[method]tcp-socket.receive",
- "wasi:sockets/[email protected]#[method]udp-socket.bind",
- "wasi:sockets/[email protected]#[method]udp-socket.connect",
- ],
- },
});
}
pub use self::generated::LinkOptions;
to:
$ git checkout 2b8322817e # latest `main` as of time of writing
$ curl -sL https://github.com/bytecodealliance/wasmtime/pull/11221.patch | git am -3
$ curl -sL https://github.com/bytecodealliance/wasmtime/pull/11244.patch | git am -3
or, potentially, latest main if/when #11221 and #11244 are merged
then:
$ cargo build -p wasmtime-wasi --features p3
Expected Results
Success
Actual Results
error[E0405]: cannot find trait `HostConcurrent` in module `monotonic_clock`
--> crates/wasi/src/p3/clocks/host.rs:45:26
|
45 | impl<T> monotonic_clock::HostConcurrent for WasiClocks<T>
| ^^^^^^^^^^^^^^ not found in `monotonic_clock`
even though functions are marked as async: https://github.com/rvolosatovs/wasmtime/blob/c822293b26a1f2720d5a4cd035a59a66d4512e90/crates/wasi/src/p3/wit/deps/clocks/monotonic-clock.wit#L34-L44
Versions and Environment
Wasmtime version or commit: 2b83228 with patches
Operating system: MacOS
Architecture: aarch64-darwin
Metadata
Metadata
Assignees
Labels
wasm-proposal:component-model-asyncIssues related to the WebAssembly Component Model async proposalIssues related to the WebAssembly Component Model async proposal
Type
Projects
Status
Done