Use as_func

This commit is contained in:
Wei Tang 2018-07-09 23:15:26 +08:00
parent ee7faafa70
commit 9044d42064
1 changed files with 3 additions and 5 deletions

View File

@ -1,7 +1,7 @@
use { use {
Error, Signature, Externals, FuncInstance, FuncRef, HostError, ImportsBuilder, Error, Signature, Externals, FuncInstance, FuncRef, HostError, ImportsBuilder,
MemoryInstance, MemoryRef, TableInstance, TableRef, ModuleImportResolver, ModuleInstance, ModuleRef, MemoryInstance, MemoryRef, TableInstance, TableRef, ModuleImportResolver, ModuleInstance, ModuleRef,
RuntimeValue, RuntimeArgs, TableDescriptor, MemoryDescriptor, Trap, TrapKind, ResumableError, ExternVal, RuntimeValue, RuntimeArgs, TableDescriptor, MemoryDescriptor, Trap, TrapKind, ResumableError,
}; };
use types::ValueType; use types::ValueType;
use memory_units::Pages; use memory_units::Pages;
@ -274,10 +274,8 @@ fn resume_call_host_func() {
.expect("Failed to instantiate module") .expect("Failed to instantiate module")
.assert_no_start(); .assert_no_start();
let func_instance = match instance.export_by_name("test").unwrap() { let export = instance.export_by_name("test").unwrap();
ExternVal::Func(func_instance) => func_instance, let func_instance = export.as_func().unwrap();
_ => panic!(),
};
let mut invocation = FuncInstance::invoke_resumable(&func_instance, &[]).unwrap(); let mut invocation = FuncInstance::invoke_resumable(&func_instance, &[]).unwrap();
let result = invocation.start_execution(&mut env); let result = invocation.start_execution(&mut env);