wasm_spec_interpreter/
without_library.rs

1//! Panic when interpreting WebAssembly modules; see the rationale for this in
2//! `lib.rs`.
3//!
4//! ```should_panic
5//! # use wasm_spec_interpreter::instantiate;
6//! let _ = instantiate(&[]);
7//! ```
8
9use crate::{SpecExport, SpecInstance, SpecValue};
10
11pub fn instantiate(_module: &[u8]) -> Result<SpecInstance, String> {
12    fail_at_runtime()
13}
14
15pub fn interpret(
16    _instance: &SpecInstance,
17    _name: &str,
18    _parameters: Option<Vec<SpecValue>>,
19) -> Result<Vec<SpecValue>, String> {
20    fail_at_runtime()
21}
22
23pub fn interpret_legacy(
24    _module: &[u8],
25    _parameters: Option<Vec<SpecValue>>,
26) -> Result<Vec<SpecValue>, String> {
27    fail_at_runtime()
28}
29
30pub fn export(_instance: &SpecInstance, _name: &str) -> Result<SpecExport, String> {
31    fail_at_runtime()
32}
33
34fn fail_at_runtime() -> ! {
35    panic!(
36        "wasm-spec-interpreter was built without its Rust-to-OCaml shim \
37        library; re-compile with the dependencies listed in its README.md."
38    );
39}
40
41pub fn setup_ocaml_runtime() {}