diff --git a/Cargo.lock b/Cargo.lock index 43dfb188f1..9a7121c8ae 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5265,7 +5265,7 @@ dependencies = [ [[package]] name = "wit-bindgen" version = "0.41.0" -source = "git+https://github.com/bytecodealliance/witx-bindgen#4536acf0d5d3d348968c5b42f60cb411ddf74d82" +source = "git+https://github.com/bytecodealliance/witx-bindgen#570866617d163858d97f843c0d3e60d07fb3b6d0" dependencies = [ "wit-bindgen-rt 0.41.0", "wit-bindgen-rust-macro", @@ -5274,7 +5274,7 @@ dependencies = [ [[package]] name = "wit-bindgen-core" version = "0.41.0" -source = "git+https://github.com/bytecodealliance/witx-bindgen#4536acf0d5d3d348968c5b42f60cb411ddf74d82" +source = "git+https://github.com/bytecodealliance/witx-bindgen#570866617d163858d97f843c0d3e60d07fb3b6d0" dependencies = [ "anyhow", "heck 0.5.0", @@ -5293,7 +5293,7 @@ dependencies = [ [[package]] name = "wit-bindgen-rt" version = "0.41.0" -source = "git+https://github.com/bytecodealliance/witx-bindgen#4536acf0d5d3d348968c5b42f60cb411ddf74d82" +source = "git+https://github.com/bytecodealliance/witx-bindgen#570866617d163858d97f843c0d3e60d07fb3b6d0" dependencies = [ "bitflags 2.6.0", "futures", @@ -5303,7 +5303,7 @@ dependencies = [ [[package]] name = "wit-bindgen-rust" version = "0.41.0" -source = "git+https://github.com/bytecodealliance/witx-bindgen#4536acf0d5d3d348968c5b42f60cb411ddf74d82" +source = "git+https://github.com/bytecodealliance/witx-bindgen#570866617d163858d97f843c0d3e60d07fb3b6d0" dependencies = [ "anyhow", "heck 0.5.0", @@ -5318,7 +5318,7 @@ dependencies = [ [[package]] name = "wit-bindgen-rust-macro" version = "0.41.0" -source = "git+https://github.com/bytecodealliance/witx-bindgen#4536acf0d5d3d348968c5b42f60cb411ddf74d82" +source = "git+https://github.com/bytecodealliance/witx-bindgen#570866617d163858d97f843c0d3e60d07fb3b6d0" dependencies = [ "anyhow", "prettyplease", diff --git a/crates/misc/component-async-tests/Cargo.toml b/crates/misc/component-async-tests/Cargo.toml index 14aa2b896c..3a19edec9f 100644 --- a/crates/misc/component-async-tests/Cargo.toml +++ b/crates/misc/component-async-tests/Cargo.toml @@ -24,6 +24,7 @@ wasi-http-draft = { path = "http" } wasm-compose = { workspace = true } wasmparser = { workspace = true } wasmtime = { workspace = true, features = [ + "default", "cranelift", "component-model-async", ] } diff --git a/crates/test-programs/src/bin/async_post_return_caller.rs b/crates/test-programs/src/bin/async_post_return_caller.rs index 7e58e59e66..d5419cddce 100644 --- a/crates/test-programs/src/bin/async_post_return_caller.rs +++ b/crates/test-programs/src/bin/async_post_return_caller.rs @@ -26,7 +26,7 @@ struct Component; impl Guest for Component { async fn run() { let s = "All mimsy were the borogoves"; - assert_eq!(s, &foo(s).await); + assert_eq!(s, foo(s.to_string()).await); assert_eq!(s, &get_post_return_value()); } } diff --git a/crates/test-programs/src/bin/async_round_trip_direct_stackless.rs b/crates/test-programs/src/bin/async_round_trip_direct_stackless.rs index fd954b7aab..b817e33ff2 100644 --- a/crates/test-programs/src/bin/async_round_trip_direct_stackless.rs +++ b/crates/test-programs/src/bin/async_round_trip_direct_stackless.rs @@ -15,7 +15,7 @@ impl bindings::Guest for Component { async fn foo(s: String) -> String { format!( "{} - exited guest", - bindings::foo(&format!("{s} - entered guest")).await + bindings::foo(format!("{s} - entered guest")).await ) } } diff --git a/crates/test-programs/src/bin/async_round_trip_many_stackless.rs b/crates/test-programs/src/bin/async_round_trip_many_stackless.rs index 9b86097524..7cbf13c418 100644 --- a/crates/test-programs/src/bin/async_round_trip_many_stackless.rs +++ b/crates/test-programs/src/bin/async_round_trip_many_stackless.rs @@ -45,13 +45,13 @@ impl Guest for Component { c: v.c, }; let (a, b, c, d, e, f, g) = many::foo( - &format!("{a} - entered guest"), + format!("{a} - entered guest"), b, - &c, + c, d, - &into(e), - f.map(into).as_ref(), - g.map(into).as_ref().map_err(drop), + into(e), + f.map(into), + g.map(into).map_err(drop), ) .await; ( diff --git a/crates/test-programs/src/bin/async_round_trip_many_wait.rs b/crates/test-programs/src/bin/async_round_trip_many_wait.rs index 667cb79ae4..f7e13ebc0f 100644 --- a/crates/test-programs/src/bin/async_round_trip_many_wait.rs +++ b/crates/test-programs/src/bin/async_round_trip_many_wait.rs @@ -53,13 +53,13 @@ impl Guest for Component { }; async_support::block_on(async move { let (a, b, c, d, e, f, g) = many::foo( - &format!("{a} - entered guest"), + format!("{a} - entered guest"), b, - &c, + c, d, - &into(e), - f.map(into).as_ref(), - g.map(into).as_ref().map_err(drop), + into(e), + f.map(into), + g.map(into).map_err(drop), ) .await; ( diff --git a/crates/test-programs/src/bin/async_round_trip_stackless.rs b/crates/test-programs/src/bin/async_round_trip_stackless.rs index f06bf95571..94653b7c14 100644 --- a/crates/test-programs/src/bin/async_round_trip_stackless.rs +++ b/crates/test-programs/src/bin/async_round_trip_stackless.rs @@ -17,7 +17,7 @@ impl Baz for Component { async fn foo(s: String) -> String { format!( "{} - exited guest", - baz::foo(&format!("{s} - entered guest")).await + baz::foo(format!("{s} - entered guest")).await ) } } diff --git a/crates/test-programs/src/bin/async_round_trip_wait.rs b/crates/test-programs/src/bin/async_round_trip_wait.rs index 6f3b3ced7f..13e73cde2f 100644 --- a/crates/test-programs/src/bin/async_round_trip_wait.rs +++ b/crates/test-programs/src/bin/async_round_trip_wait.rs @@ -25,7 +25,7 @@ impl Baz for Component { async_support::block_on(async move { format!( "{} - exited guest", - baz::foo(&format!("{s} - entered guest")).await + baz::foo(format!("{s} - entered guest")).await ) }) } diff --git a/crates/test-programs/src/bin/p3_sockets_ip_name_lookup.rs b/crates/test-programs/src/bin/p3_sockets_ip_name_lookup.rs index 7e9391b64e..4c593bb99a 100644 --- a/crates/test-programs/src/bin/p3_sockets_ip_name_lookup.rs +++ b/crates/test-programs/src/bin/p3_sockets_ip_name_lookup.rs @@ -7,21 +7,25 @@ struct Component; test_programs::p3::export!(Component); async fn resolve_one(name: &str) -> Result { - Ok(resolve_addresses(name).await?.first().unwrap().to_owned()) + Ok(resolve_addresses(name.into()) + .await? + .first() + .unwrap() + .to_owned()) } impl test_programs::p3::exports::wasi::cli::run::Guest for Component { async fn run() -> Result<(), ()> { // Valid domains try_join!( - resolve_addresses("localhost"), - resolve_addresses("example.com") + resolve_addresses("localhost".into()), + resolve_addresses("example.com".into()) ) .unwrap(); // NB: this is an actual real resolution, so it might time out, might cause // issues, etc. This result is ignored to prevent flaky failures in CI. - let _ = resolve_addresses("münchen.de").await; + let _ = resolve_addresses("münchen.de".into()).await; // Valid IP addresses assert_eq!( @@ -64,27 +68,29 @@ impl test_programs::p3::exports::wasi::cli::run::Guest for Component { // Invalid inputs assert_eq!( - resolve_addresses("").await.unwrap_err(), + resolve_addresses("".into()).await.unwrap_err(), ErrorCode::InvalidArgument ); assert_eq!( - resolve_addresses(" ").await.unwrap_err(), + resolve_addresses(" ".into()).await.unwrap_err(), ErrorCode::InvalidArgument ); assert_eq!( - resolve_addresses("a.b<&>").await.unwrap_err(), + resolve_addresses("a.b<&>".into()).await.unwrap_err(), ErrorCode::InvalidArgument ); assert_eq!( - resolve_addresses("127.0.0.1:80").await.unwrap_err(), + resolve_addresses("127.0.0.1:80".into()).await.unwrap_err(), ErrorCode::InvalidArgument ); assert_eq!( - resolve_addresses("[::]:80").await.unwrap_err(), + resolve_addresses("[::]:80".into()).await.unwrap_err(), ErrorCode::InvalidArgument ); assert_eq!( - resolve_addresses("http://example.com/").await.unwrap_err(), + resolve_addresses("http://example.com/".into()) + .await + .unwrap_err(), ErrorCode::InvalidArgument ); Ok(()) diff --git a/crates/test-programs/src/bin/p3_sockets_udp_sample_application.rs b/crates/test-programs/src/bin/p3_sockets_udp_sample_application.rs index 501b8acd57..35526cf35a 100644 --- a/crates/test-programs/src/bin/p3_sockets_udp_sample_application.rs +++ b/crates/test-programs/src/bin/p3_sockets_udp_sample_application.rs @@ -25,8 +25,11 @@ async fn test_udp_sample_application(family: IpAddressFamily, bind_address: IpSo let client_addr = client.local_address().unwrap(); join!( async { - client.send(first_message, None).await.unwrap(); - client.send(second_message, Some(addr)).await.unwrap(); + client.send(first_message.to_vec(), None).await.unwrap(); + client + .send(second_message.to_vec(), Some(addr)) + .await + .unwrap(); }, async { // Check that we've received our sent messages. @@ -44,7 +47,10 @@ async fn test_udp_sample_application(family: IpAddressFamily, bind_address: IpSo // Another client let client = UdpSocket::new(family); client.bind(unspecified_addr).unwrap(); - client.send(third_message, Some(addr)).await.unwrap(); + client + .send(third_message.to_vec(), Some(addr)) + .await + .unwrap(); }, async { // Check that we sent and received our message! diff --git a/crates/test-programs/src/bin/p3_sockets_udp_states.rs b/crates/test-programs/src/bin/p3_sockets_udp_states.rs index 2407d39c4f..45da9552e6 100644 --- a/crates/test-programs/src/bin/p3_sockets_udp_states.rs +++ b/crates/test-programs/src/bin/p3_sockets_udp_states.rs @@ -12,7 +12,7 @@ async fn test_udp_unbound_state_invariants(family: IpAddressFamily) { // Skipping: udp::start_bind assert_eq!( - sock.send(b"test", None).await, + sock.send(b"test".into(), None).await, Err(ErrorCode::InvalidArgument) ); assert_eq!(sock.disconnect(), Err(ErrorCode::InvalidState));