mirror of
https://github.com/fluencelabs/marine.git
synced 2025-03-15 14:00:50 +00:00
code with errors
This commit is contained in:
parent
4bd99589b0
commit
2d93770688
@ -65,6 +65,16 @@ pub trait Exports<WB: WasmBackend> {
|
|||||||
&'a self,
|
&'a self,
|
||||||
name: &str,
|
name: &str,
|
||||||
) -> wasmer_core::error::ResolveResult<T>;
|
) -> wasmer_core::error::ResolveResult<T>;
|
||||||
|
|
||||||
|
fn get_func<'a, Args: wasmer_core::types::WasmExternType, Rets: wasmer_core::types::WasmExternType>(
|
||||||
|
&'a self,
|
||||||
|
name: &str,
|
||||||
|
) -> wasmer_core::error::ResolveResult<Box<dyn Fn(i32) -> ()/*wasmer_core::error::RuntimeResult<Rets>*/ + 'a>>;// wasmer_core::error::ResolveResult<Box<dyn Fn(Args) -> wasmer_core::error::RuntimeResult<Rets> + 'a>>;
|
||||||
|
|
||||||
|
fn get_func2<'a, Args>(
|
||||||
|
&'a self,
|
||||||
|
name: &str,
|
||||||
|
) -> Box<dyn Fn(Args) -> ()>;
|
||||||
}
|
}
|
||||||
|
|
||||||
pub enum Export<M: MemoryExport, F: FunctionExport> {
|
pub enum Export<M: MemoryExport, F: FunctionExport> {
|
||||||
|
@ -16,12 +16,12 @@ use std::path::PathBuf;
|
|||||||
use std::slice::Windows;
|
use std::slice::Windows;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use wasmer_core::backend::SigRegistry;
|
use wasmer_core::backend::SigRegistry;
|
||||||
use wasmer_core::error::ResolveError;
|
use wasmer_core::error::{ResolveError, ResolveResult};
|
||||||
use wasmer_core::fault::raw::longjmp;
|
use wasmer_core::fault::raw::longjmp;
|
||||||
use wasmer_core::Func;
|
use wasmer_core::Func;
|
||||||
use wasmer_core::module::ExportIndex;
|
use wasmer_core::module::ExportIndex;
|
||||||
//use wasmer_core::prelude::vm::Ctx;
|
//use wasmer_core::prelude::vm::Ctx;
|
||||||
use wasmer_core::types::{FuncSig, LocalOrImport};
|
use wasmer_core::types::{FuncSig, LocalOrImport, WasmExternType};
|
||||||
use wasmer_wasi::state::WasiState;
|
use wasmer_wasi::state::WasiState;
|
||||||
|
|
||||||
mod memory_access;
|
mod memory_access;
|
||||||
@ -236,6 +236,31 @@ impl Exports<WasmerBackend> for WasmerInstance {
|
|||||||
) -> wasmer_core::error::ResolveResult<T> {
|
) -> wasmer_core::error::ResolveResult<T> {
|
||||||
self.instance.exports.get(name)
|
self.instance.exports.get(name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn get_func<'a, Args: WasmExternType, Rets: WasmExternType>(
|
||||||
|
&'a self,
|
||||||
|
name: &str,
|
||||||
|
) -> wasmer_core::error::ResolveResult<Box<dyn Fn(i32) -> () +'a>> {
|
||||||
|
self.instance
|
||||||
|
.exports
|
||||||
|
.get::<Func<'a, Args, Rets>>(name)
|
||||||
|
.map(|_| {
|
||||||
|
let func = |args: i32| -> () {};
|
||||||
|
|
||||||
|
Box::new(func)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
fn get_func2<'a, Args>(
|
||||||
|
&'a self,
|
||||||
|
name: &str,
|
||||||
|
) -> Box<dyn Fn(Args) -> ()/*wasmer_core::error::RuntimeResult<Rets>*/> {
|
||||||
|
let func = move |args: Args| -> () /*wasmer_core::error::RuntimeResult<Rets>*/ {
|
||||||
|
//func.call(args)
|
||||||
|
};
|
||||||
|
|
||||||
|
Box::new(func)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn export_from_wasmer_export(
|
fn export_from_wasmer_export(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user