mirror of
https://github.com/mii443/wasmer.git
synced 2025-12-06 12:48:20 +00:00
Add Table as a trait
This commit is contained in:
10
lib/api/src/externals/table.rs
vendored
10
lib/api/src/externals/table.rs
vendored
@@ -20,7 +20,7 @@ pub struct Table {
|
||||
}
|
||||
|
||||
fn set_table_item(
|
||||
table: &RuntimeTable,
|
||||
table: &dyn RuntimeTable,
|
||||
item_index: u32,
|
||||
item: VMCallerCheckedAnyfunc,
|
||||
) -> Result<(), RuntimeError> {
|
||||
@@ -41,21 +41,21 @@ impl Table {
|
||||
|
||||
let definition = table.vmtable();
|
||||
for i in 0..definition.current_elements {
|
||||
set_table_item(&table, i, item.clone())?;
|
||||
set_table_item(table.as_ref(), i, item.clone())?;
|
||||
}
|
||||
|
||||
Ok(Table {
|
||||
store: store.clone(),
|
||||
owned_by_store: true,
|
||||
exported: ExportTable {
|
||||
from: Box::leak(Box::new(table)),
|
||||
from: table,
|
||||
definition: Box::leak(Box::new(definition)),
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
fn table(&self) -> &RuntimeTable {
|
||||
unsafe { &*self.exported.from }
|
||||
fn table(&self) -> &dyn RuntimeTable {
|
||||
&*self.exported.from
|
||||
}
|
||||
|
||||
/// Gets the underlying [`TableType`].
|
||||
|
||||
Reference in New Issue
Block a user