khagankhan requested alexcrichton for a review on PR #13847.
khagankhan opened PR #13847 from khagankhan:array to bytecodealliance:main:
types.rs:CompositeType::Arraywith a reusedStructFieldelement. Full array-to-array subtyping (element covariance/invariance, forced element-compatibility in fixup). Cross-kind supertype edges (struct<->array) are cleared.StackType::Arraywired into operand satisfaction,eqrefupcast, and cast repair.ops.rs: a full mirror of the struct op family for arrays, plus array-specificArrayNew(fixed-lengtharray.new_default),ArrayGet/ArraySet, andArrayLen. Accesses are null-guarded and useindex % (array_length + 1)so out-of-bounds traps are exercised but rare. A same-kind index remap keeps struct ops off array types (and vice versa) now that both share one type-index space.mutator.rs: array generation, element mutation, and generic rec-group duplication.oracles.rs:take_array+ typedtake_array_Nimports, andTrap::ArrayOutOfBoundsadded to the accepted-trap allowlist.limits.rs: a fuzzablearray_lengthknob (1..=16, default 5).config.rs:Config::to_store()could panic inEngine::new()for pooling + GC configs. The GC-heap backing memory rounds its minimum size up to a 64 KiB wasm page, but the harness clampedgc_heap_initial_sizetomax_memory_sizein raw bytes — so a non-page-alignedmax_memory_sizelet the rounded-up minimum overshoot the pool's per-memory limit, andEngine::new(correctly) rejected the config, whichto_store().unwrap()turned into a crash. Fixed by clamping the initial size tomax_memory_sizerounded down to a page.+cc @fitzgen @eeide
khagankhan requested wasmtime-fuzz-reviewers for a review on PR #13847.
alexcrichton unassigned alexcrichton from PR #13847 [gc_fuzz]: Extend everything we have done so far to array types.
alexcrichton requested fitzgen for a review on PR #13847.
github-actions[bot] added the label fuzzing on PR #13847.
github-actions[bot] commented on PR #13847:
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! LGTM, just needs a rebase
khagankhan updated PR #13847.
khagankhan commented on PR #13847:
@fitzgen Thanks! I rebased it and considering this PR solved the bug in
config.rsI resolved the conflict accordingly.
:thumbs_up: fitzgen submitted PR review:
Thanks!
fitzgen added PR #13847 [gc_fuzz]: Extend everything we have done so far to array types to the merge queue.
:check: fitzgen merged PR #13847.
fitzgen removed PR #13847 [gc_fuzz]: Extend everything we have done so far to array types from the merge queue.
Last updated: Jul 29 2026 at 05:03 UTC