1mod component;
5mod data;
6mod display;
7mod instruction;
8mod outcome;
9pub mod word;
10pub use component::CPUMessage;
11pub use data::CPU;
12pub use data::{RuntimeInstruction, SurfaceInstruction};
13pub use instruction::{SurfaceType, SurfaceValue};
14pub use outcome::StepOutcome;
15pub use word::{
16 Word, decode_bool, decode_f32, decode_f64, decode_function_ref, decode_heap_ref, decode_i32,
17 decode_i64, decode_string_id, decode_u32, decode_u64, encode_bool, encode_f32, encode_f64,
18 encode_function_ref, encode_heap_ref, encode_i32, encode_i64, encode_string_id, encode_u32,
19 encode_u64,
20};
21
22#[cfg(test)]
23mod tests {
24 use super::*;
25
26 #[test]
27 fn surface_instruction_implements_surface_marker() {
28 fn require_surface_instruction<T: vihaco::SurfaceInstruction>() {}
29
30 require_surface_instruction::<SurfaceInstruction>();
31 }
32}