mirror of
https://github.com/mii443/wasmer.git
synced 2025-12-09 14:18:20 +00:00
Remove internal Arc from Exports
This is useless and prevents cloned Exports from being modified.
This commit is contained in:
@@ -6,7 +6,6 @@ use crate::js::WasmTypeList;
|
|||||||
use indexmap::IndexMap;
|
use indexmap::IndexMap;
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::iter::{ExactSizeIterator, FromIterator};
|
use std::iter::{ExactSizeIterator, FromIterator};
|
||||||
use std::sync::Arc;
|
|
||||||
use thiserror::Error;
|
use thiserror::Error;
|
||||||
|
|
||||||
/// The `ExportError` can happen when trying to get a specific
|
/// The `ExportError` can happen when trying to get a specific
|
||||||
@@ -63,7 +62,7 @@ pub enum ExportError {
|
|||||||
/// TODO: add examples of using exports
|
/// TODO: add examples of using exports
|
||||||
#[derive(Clone, Default)]
|
#[derive(Clone, Default)]
|
||||||
pub struct Exports {
|
pub struct Exports {
|
||||||
map: Arc<IndexMap<String, Extern>>,
|
map: IndexMap<String, Extern>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Exports {
|
impl Exports {
|
||||||
@@ -75,7 +74,7 @@ impl Exports {
|
|||||||
/// Creates a new `Exports` with capacity `n`.
|
/// Creates a new `Exports` with capacity `n`.
|
||||||
pub fn with_capacity(n: usize) -> Self {
|
pub fn with_capacity(n: usize) -> Self {
|
||||||
Self {
|
Self {
|
||||||
map: Arc::new(IndexMap::with_capacity(n)),
|
map: IndexMap::with_capacity(n),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -95,9 +94,7 @@ impl Exports {
|
|||||||
S: Into<String>,
|
S: Into<String>,
|
||||||
E: Into<Extern>,
|
E: Into<Extern>,
|
||||||
{
|
{
|
||||||
Arc::get_mut(&mut self.map)
|
self.map.insert(name.into(), value.into());
|
||||||
.unwrap()
|
|
||||||
.insert(name.into(), value.into());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get an export given a `name`.
|
/// Get an export given a `name`.
|
||||||
@@ -272,7 +269,7 @@ where
|
|||||||
impl FromIterator<(String, Extern)> for Exports {
|
impl FromIterator<(String, Extern)> for Exports {
|
||||||
fn from_iter<I: IntoIterator<Item = (String, Extern)>>(iter: I) -> Self {
|
fn from_iter<I: IntoIterator<Item = (String, Extern)>>(iter: I) -> Self {
|
||||||
Self {
|
Self {
|
||||||
map: Arc::new(IndexMap::from_iter(iter)),
|
map: IndexMap::from_iter(iter),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ use indexmap::IndexMap;
|
|||||||
use loupe::MemoryUsage;
|
use loupe::MemoryUsage;
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::iter::{ExactSizeIterator, FromIterator};
|
use std::iter::{ExactSizeIterator, FromIterator};
|
||||||
use std::sync::Arc;
|
|
||||||
use thiserror::Error;
|
use thiserror::Error;
|
||||||
use wasmer_engine::Export;
|
use wasmer_engine::Export;
|
||||||
|
|
||||||
@@ -64,7 +63,7 @@ pub enum ExportError {
|
|||||||
/// TODO: add examples of using exports
|
/// TODO: add examples of using exports
|
||||||
#[derive(Clone, Default, MemoryUsage)]
|
#[derive(Clone, Default, MemoryUsage)]
|
||||||
pub struct Exports {
|
pub struct Exports {
|
||||||
map: Arc<IndexMap<String, Extern>>,
|
map: IndexMap<String, Extern>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Exports {
|
impl Exports {
|
||||||
@@ -76,7 +75,7 @@ impl Exports {
|
|||||||
/// Creates a new `Exports` with capacity `n`.
|
/// Creates a new `Exports` with capacity `n`.
|
||||||
pub fn with_capacity(n: usize) -> Self {
|
pub fn with_capacity(n: usize) -> Self {
|
||||||
Self {
|
Self {
|
||||||
map: Arc::new(IndexMap::with_capacity(n)),
|
map: IndexMap::with_capacity(n),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,9 +95,7 @@ impl Exports {
|
|||||||
S: Into<String>,
|
S: Into<String>,
|
||||||
E: Into<Extern>,
|
E: Into<Extern>,
|
||||||
{
|
{
|
||||||
Arc::get_mut(&mut self.map)
|
self.map.insert(name.into(), value.into());
|
||||||
.unwrap()
|
|
||||||
.insert(name.into(), value.into());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get an export given a `name`.
|
/// Get an export given a `name`.
|
||||||
@@ -274,7 +271,7 @@ where
|
|||||||
impl FromIterator<(String, Extern)> for Exports {
|
impl FromIterator<(String, Extern)> for Exports {
|
||||||
fn from_iter<I: IntoIterator<Item = (String, Extern)>>(iter: I) -> Self {
|
fn from_iter<I: IntoIterator<Item = (String, Extern)>>(iter: I) -> Self {
|
||||||
Self {
|
Self {
|
||||||
map: Arc::new(IndexMap::from_iter(iter)),
|
map: IndexMap::from_iter(iter),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user