use wasmtime::*;
use wasmtime_wasi::WasiCtx;
fn main() -> Result<()> {
let engine = Engine::default();
let mut linker = Linker::new(&engine);
wasmtime_wasi::p1::add_to_linker_sync(&mut linker, |s| s)?;
let wasi = WasiCtx::builder().inherit_stdio().inherit_args().build_p1();
let mut store = Store::new(&engine, wasi);
let module = Module::from_file(&engine, "target/wasm32-wasip1/debug/wasi.wasm")?;
linker.module(&mut store, "", &module)?;
linker
.get_default(&mut store, "")?
.typed::<(), ()>(&store)?
.call(&mut store, ())?;
Ok(())
}