wasmtime_wasi/host/
exit.rs

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