WebAssembly / WebAssembly/component-model
Core type aliases with a depth larger than 1
Nobody has claimed this yet.
- Dominant language
- WebAssembly
- Stars
- 1.4k
- Forks
- 130
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 15
Description
Currently the Binary.md states:
Validation of alias declarators only allows outer type aliases. Validation of these aliases cannot see beyond the enclosing core type index space. Since core modules and core module types cannot nest in the MVP, this means that the maximum ct in an MVP alias declarator is 1.
but I would naively at least expect that there's no need to limit the depth here. For example with a component such as:
(component $C
(core type $t (func))
(component $C2
(core type (module
(alias outer $C $t (type $a))
(import "" "" (func (type $a)))
))
)
)
this seems like it should be valid but this validation rule currently prevents it from working.
Contributor guide
No contributing guide indexed for this repository
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.
Research direction
Read design/mvp/Binary.md, especially the validation rule for alias declarators, then trace the nested component example in the issue against the stated core type index-space limits. Done means the specification clearly resolves whether aliases with depth greater than 1 are valid and updates the relevant validation text or coverage accordingly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- wasm
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100