diff --git a/examples/tokio/main.rs b/examples/tokio/main.rs index 03e83b4ac0..b8b0548953 100644 --- a/examples/tokio/main.rs +++ b/examples/tokio/main.rs @@ -79,6 +79,10 @@ impl Inputs { fn run_wasm(inputs: Inputs) -> impl Future> { use std::pin::Pin; use std::task::{Context, Poll}; + // IMPORTANT: The current wasmtime API is very challenging to use safely + // on an async runtime. This RFC describes a redesign of the API that will + // resolve these safety issues: + // https://github.com/alexcrichton/rfcs-2/blob/new-api/accepted/new-api.md // This is a "marker type future" which simply wraps some other future and // the only purpose it serves is to forward the implementation of `Future` @@ -151,10 +155,8 @@ async fn _run_wasm(inputs: Inputs) -> Result<(), Error> { // Instantiate let instance = linker.instantiate_async(&inputs.env.module).await?; instance - .get_export("_start") + .get_typed_func("_start") .ok_or_else(|| anyhow!("wasm is a wasi command with export _start"))? - .into_func() - .ok_or_else(|| anyhow!("_start is a func"))? .call_async(&[]) .await?;