Document Callable, Trap, HostRef, and ValType (#693)

This commit is contained in:
XAMPPRocky
2019-12-11 19:46:45 +01:00
committed by Alex Crichton
parent 0cc8c6c867
commit ddd2300010
5 changed files with 140 additions and 8 deletions

View File

@@ -1,5 +1,7 @@
use thiserror::Error;
/// A struct representing an aborted instruction execution, with a message
/// indicating the cause.
#[derive(Error, Debug)]
#[error("Wasm trap: {message}")]
pub struct Trap {
@@ -7,14 +9,25 @@ pub struct Trap {
}
impl Trap {
pub fn new(message: String) -> Trap {
Trap { message }
/// Creates a new `Trap` with `message`.
/// # Example
/// ```
/// let trap = wasmtime::Trap::new("unexpected error");
/// assert_eq!("unexpected error", trap.message());
/// ```
pub fn new<I: Into<String>>(message: I) -> Trap {
Self {
message: message.into(),
}
}
/// Create a `Trap` without defining a message for the trap. Mostly useful
/// for prototypes and tests.
pub fn fake() -> Trap {
Trap::new("TODO trap".to_string())
Self::new("TODO trap")
}
/// Returns a reference the `message` stored in `Trap`.
pub fn message(&self) -> &str {
&self.message
}