WebAssembly / WebAssembly/component-model

Core type aliases with a depth larger than 1

Open
#63 1 comment 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.