Skip to content

[gc_fuzz]: Add concrete struct types as fields (nullable)#13616

Open
khagankhan wants to merge 1 commit into
bytecodealliance:mainfrom
khagankhan:concrete-struct-types
Open

[gc_fuzz]: Add concrete struct types as fields (nullable)#13616
khagankhan wants to merge 1 commit into
bytecodealliance:mainfrom
khagankhan:concrete-struct-types

Conversation

@khagankhan

Copy link
Copy Markdown
Contributor

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 structref fields — 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 structref and 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 khagankhan requested a review from a team as a code owner June 12, 2026 01:08
@khagankhan khagankhan requested review from fitzgen and removed request for a team June 12, 2026 01:08
@github-actions github-actions Bot added the fuzzing Issues related to our fuzzing infrastructure label Jun 12, 2026
@github-actions

Copy link
Copy Markdown

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 .github/subscribe-to-label.json configuration file.

Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fuzzing Issues related to our fuzzing infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant