Skip to content

Commit 6ef106f

Browse files
authored
Fix a missing early-return in Table::get (#1652)
Turns out this was a typo from #1016!
1 parent d6796d0 commit 6ef106f

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

crates/api/src/values.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ pub(crate) fn from_checked_anyfunc(
216216
store: &Store,
217217
) -> Val {
218218
if item.type_index == wasmtime_runtime::VMSharedSignatureIndex::default() {
219-
Val::AnyRef(AnyRef::Null);
219+
return Val::AnyRef(AnyRef::Null);
220220
}
221221
let instance_handle = unsafe { wasmtime_runtime::InstanceHandle::from_vmctx(item.vmctx) };
222222
let export = wasmtime_runtime::ExportFunction {

tests/all/main.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ mod linker;
1414
mod memory_creator;
1515
mod name;
1616
mod stack_overflow;
17+
mod table;
1718
mod traps;
1819
mod use_after_drop;
1920
mod wast;

tests/all/table.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
use wasmtime::*;
2+
3+
#[test]
4+
fn get_none() {
5+
let store = Store::default();
6+
let ty = TableType::new(ValType::FuncRef, Limits::new(1, None));
7+
let table = Table::new(&store, ty, Val::AnyRef(AnyRef::Null)).unwrap();
8+
match table.get(0) {
9+
Some(Val::AnyRef(AnyRef::Null)) => {}
10+
_ => panic!(),
11+
}
12+
assert!(table.get(1).is_none());
13+
}

0 commit comments

Comments
 (0)