```rust
extern crate wasmer_runtime;
use std::error::Error; use wasmerruntime::{imports, instantiate, Array, Ctx, Func, WasmPtr}; use wasmeras::AsmScriptString;
fn main() -> Result<(), Box
let import_object = imports! {
"env" => {
"abort" => func!(abort),
},
};
let instance = instantiate(&wasm[..], &import_object)?;
// for the test we use simple function returning constant string:
//
// export function getString(): string {
// return "TheString";
// }
let get_string: Func<(), WasmPtr<u16, Array>> = instance.func("getString")?;
let str_ptr = get_string.call()?;
let string = str_ptr.get_as_string(instance.context().memory(0))?;
assert_eq!(string, "TheString");
Ok(())
}
// if getstring throws an exception abort for some reason is being called
fn abort(ctx: &mut Ctx, message: WasmPtr