wasmtime_wasi/p2/host/exit.rs
1use crate::p2::{bindings::cli::exit, WasiImpl, WasiView};
2use crate::I32Exit;
3
4impl<T> exit::Host for WasiImpl<T>
5where
6 T: WasiView,
7{
8 fn exit(&mut self, status: Result<(), ()>) -> anyhow::Result<()> {
9 let status = match status {
10 Ok(()) => 0,
11 Err(()) => 1,
12 };
13 Err(anyhow::anyhow!(I32Exit(status)))
14 }
15
16 fn exit_with_code(&mut self, status_code: u8) -> anyhow::Result<()> {
17 Err(anyhow::anyhow!(I32Exit(status_code.into())))
18 }
19}