1mod core;
2mod env;
3mod error;
4mod handles;
5mod structural;
6
7pub type VmMutex<T> = parking_lot::Mutex<T>;
8
9pub use core::{
10 struct_fields_to_map, StructLayout, VmAsyncBuiltinFn, VmBuiltinFn, VmEnumVariant, VmValue,
11};
12pub use env::{closest_match, ModuleFunctionRegistry, ModuleState, VmClosure, VmEnv};
13pub use error::{
14 categorized_error, classify_error_message, error_to_category, ArgTypeMismatchError,
15 ArityExpect, ArityMismatchError, DeadlockError, ErrorCategory, VmError,
16};
17pub use handles::{
18 VmAtomicHandle, VmChannelCloseState, VmChannelHandle, VmGenerator, VmJoinHandle, VmRange,
19 VmRngHandle, VmStream, VmStreamCancel, VmSyncPermitHandle, VmTaskHandle,
20};
21pub use structural::{
22 compare_values, dedup_values, try_compare_values, value_identity_key,
23 value_structural_hash_key, values_equal, values_identical,
24};
25
26#[cfg(test)]
27mod tests;