summaryrefslogtreecommitdiff
path: root/crates
diff options
context:
space:
mode:
authorDavid Rauschenbach <david@megalithic.llc>2024-03-12 08:54:44 -0700
committerGitHub <noreply@github.com>2024-03-12 16:54:44 +0100
commitacb91b800d3668e9fb6dbb5838e2593764a0457e (patch)
treec87cf179d919982981f282e812d364930dfdaa8b /crates
parent735c7cb636edfd4704460c94a9c7d65e5bf4df48 (diff)
feat: make `Imports` and `Module` cloneable (#9)
Fixes #10.
Diffstat (limited to 'crates')
-rw-r--r--crates/tinywasm/src/imports.rs1
-rw-r--r--crates/tinywasm/src/module.rs1
2 files changed, 2 insertions, 0 deletions
diff --git a/crates/tinywasm/src/imports.rs b/crates/tinywasm/src/imports.rs
index 1c5ca98..949c5fe 100644
--- a/crates/tinywasm/src/imports.rs
+++ b/crates/tinywasm/src/imports.rs
@@ -218,6 +218,7 @@ impl From<&Import> for ExternName {
///
/// Note that module instance addresses for [`Imports::link_module`] can be obtained from [`crate::ModuleInstance::id`].
/// Now, the imports object can be passed to [`crate::ModuleInstance::instantiate`].
+#[derive(Clone)]
pub struct Imports {
values: BTreeMap<ExternName, Extern>,
modules: BTreeMap<String, ModuleInstanceAddr>,
diff --git a/crates/tinywasm/src/module.rs b/crates/tinywasm/src/module.rs
index 08e76da..5b5f0c6 100644
--- a/crates/tinywasm/src/module.rs
+++ b/crates/tinywasm/src/module.rs
@@ -5,6 +5,7 @@ use tinywasm_types::TinyWasmModule;
/// A WebAssembly Module
///
/// See <https://webassembly.github.io/spec/core/syntax/modules.html#syntax-module>
+#[derive(Clone)]
pub struct Module {
pub(crate) data: TinyWasmModule,
}