khagankhan opened PR #13616 from khagankhan:concrete-struct-types to bytecodealliance:main:
References between struct types
Concrete struct references — fields of type
(ref null $t)pointing at any
defined struct type, including self-references and cross-type cycles.Abstract
structreffields — fields of type(ref null struct).- Rec-group cycle merging — cross-group reference/supertype cycles are
resolved by merging the strongly-connected rec groups into one (preserving all
subtyping), instead of dropping supertype edges.Scope / notes
All references are nullable. Non-nullable references are deferred to a
follow-up: a cycle of non-nullable references is uninhabitable, and detecting
and repairing that in fixup is its own piece of work.Fixup degrades dangling concrete references to abstract
structrefand forces
nullability, so every generated type stays constructible and valid.Bumped the default generation limits off zero so the fuzzer starts from a
non-degenerate module.+cc @fitzgen @eeide
khagankhan requested fitzgen for a review on PR #13616.
khagankhan requested wasmtime-fuzz-reviewers for a review on PR #13616.
github-actions[bot] added the label fuzzing on PR #13616.
github-actions[bot] commented on PR #13616:
Subscribe to Label Action
cc @fitzgen
<details>
This issue or pull request has been labeled: "fuzzing"Thus the following users have been cc'd because of the following labels:
- fitzgen: fuzzing
To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.
Learn more.
</details>
:thumbs_up: fitzgen submitted PR review:
Thanks!
fitzgen added PR #13616 [gc_fuzz]: Add concrete struct types as fields (nullable) to the merge queue
:check: fitzgen merged PR #13616.
fitzgen removed PR #13616 [gc_fuzz]: Add concrete struct types as fields (nullable) from the merge queue
Last updated: Jul 29 2026 at 05:03 UTC