Validator incorrectly rejects call_indirect to table of type `(ref null nofunc)`
@stevenfontanella is already working on this.
Since May 15, 2026.
Assessment
This issue has not been assessed yet.
Description
Module:
(module
(type $nopType (func (param i32)))
(table $t1 1 1 (ref null nofunc))
(func $nop (export "nop") (type $nopType)
(nop)
)
(func $calls-nop-via-ref
(call_indirect $t1 (type $nopType) (i32.const 1) (i32.const 0))
)
)
$ bin/wasm-opt -all test/lit/passes/global-effects-closed-world-ignore-implicit-traps.wast
[wasm-validator error in function calls-nop-via-ref] unexpected false: call-indirect table must be of function type., on
(call_indirect $t1 (type $nopType)
(i32.const 1)
(i32.const 0)
)
Fatal: error validating input
This module passes validation on the spec interpreter.
- Dominant language
- WebAssembly
- Stars
- 8.6k
- Forks
- 885
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 64
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from WebAssembly/binaryen
-
Difficulty 2/5 Half a day Newbie friendliness 76/100
WebAssembly/binaryen#9018 · 3 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
WebAssembly/binaryen#9123 ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
WebAssembly/binaryen#9122 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
WebAssembly/binaryen#9086 · 2 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
WebAssembly/binaryen#9038 · 5 comments ·