Duplicated Names
This checks duplicated identifiers in their same scope:
wasm
(module
(func $f)
(func $f))Same identifier in different scopes is allowed:
wasm
(module
(func (param $p i32))
(func (param $p i32)))Though in the same scope, if two identifiers have same name but different kinds, it is allowed:
wasm
(module
(func $f)
(type $f (func)))In the example above, the first $f is funcidx while the second $f is typeidx.