1#![deny(missing_docs, trivial_numeric_casts, unused_extern_crates)]
4#![warn(unused_import_braces)]
5#![allow(clippy::new_without_default)]
6#![warn(
7 clippy::float_arithmetic,
8 clippy::mut_mut,
9 clippy::nonminimal_bool,
10 clippy::map_unwrap_or,
11 clippy::print_stdout,
12 clippy::unicode_not_nfc,
13 clippy::use_self
14)]
15
16mod artifact;
17mod export;
18mod func_data_registry;
19mod global;
20mod imports;
21mod instance;
22mod memory;
23mod mmap;
24mod probestack;
25mod resolver;
26mod sig_registry;
27mod table;
28mod trap;
29mod tunables;
30mod vmcontext;
31mod vmoffsets;
32
33pub mod libcalls;
34
35pub use crate::artifact::{Artifact, Instantiatable};
36pub use crate::export::*;
37pub use crate::func_data_registry::{FuncDataRegistry, VMFuncRef};
38pub use crate::global::*;
39pub use crate::imports::{Imports, VMImport, VMImportType};
40pub use crate::instance::{
41 ImportFunctionEnv, ImportInitializerFuncPtr, InstanceAllocator, InstanceHandle,
42 WeakOrStrongInstanceRef, initialize_host_envs,
43};
44pub use crate::memory::{LinearMemory, MemoryError, MemoryStyle};
45pub use crate::mmap::Mmap;
46pub use crate::probestack::PROBESTACK;
47pub use crate::resolver::{
48 ChainableNamedResolver, Export, ExportFunction, ExportFunctionMetadata, NamedResolver,
49 NamedResolverChain, NullResolver, Resolver,
50};
51pub use crate::sig_registry::{SignatureRegistry, VMSharedSignatureIndex};
52pub use crate::table::{LinearTable, Table, TableElement, TableStyle};
53pub use crate::trap::*;
54pub use crate::tunables::{TestTunables, Tunables};
55pub use crate::vmcontext::{
56 FunctionBodyPtr, FunctionExtent, SectionBodyPtr, VMBuiltinFunctionIndex,
57 VMCallerCheckedAnyfunc, VMContext, VMDynamicFunctionContext, VMFunctionBody,
58 VMFunctionEnvironment, VMFunctionImport, VMFunctionKind, VMGlobalDefinition, VMGlobalImport,
59 VMLocalFunction, VMMemoryDefinition, VMMemoryImport, VMTableDefinition, VMTableImport,
60 VMTrampoline,
61};
62pub use crate::vmoffsets::{TargetSharedSignatureIndex, VMOffsets};
63#[deprecated(
64 since = "2.1.0",
65 note = "ModuleInfo, ExportsIterator, ImportsIterator should be imported from near_vm_types."
66)]
67pub use near_vm_types::ModuleInfo;
68pub use near_vm_types::VMExternRef;
69
70pub const VERSION: &str = env!("CARGO_PKG_VERSION");