Skip to content

Allow struct.wait on equality-comparable fields except floats - #8939

Merged
stevenfontanella merged 8 commits into
mainfrom
waitqueue-eq
Aug 21, 2026
Merged

Allow struct.wait on equality-comparable fields except floats#8939
stevenfontanella merged 8 commits into
mainfrom
waitqueue-eq

Conversation

@stevenfontanella

@stevenfontanella stevenfontanella commented Jul 25, 2026

Copy link
Copy Markdown
Member

Part of #8315. #8672 added struct.wait for i32 struct fields, but left out support for i64 and subtypes of ref null (shared eq). See the details in the proposal.

@stevenfontanella
stevenfontanella force-pushed the waitqueue-eq branch 2 times, most recently from 12a3523 to ff41b36 Compare July 28, 2026 20:26
@stevenfontanella stevenfontanella changed the title (WIP, gemini) Allow struct.wait and any equality-comparable type Allow struct.wait on equality-comparable fields except floats Aug 13, 2026
@stevenfontanella
stevenfontanella force-pushed the waitqueue-eq branch 5 times, most recently from bc727ff to 41cfd56 Compare August 14, 2026 19:20
@stevenfontanella
stevenfontanella marked this pull request as ready for review August 14, 2026 20:06
@stevenfontanella
stevenfontanella requested a review from a team as a code owner August 14, 2026 20:06
@stevenfontanella
stevenfontanella requested review from kripken and removed request for a team August 14, 2026 20:06
Comment thread src/ir/child-typer.h Outdated
@stevenfontanella

Copy link
Copy Markdown
Member Author

Looks like my merge did something weird. I'll just rebase onto the latest main. Apologies for the force-push.

Comment thread src/ir/subtype-exprs.h Outdated
Comment thread src/wasm/wasm-validator.cpp Outdated
void FunctionValidator::visitStructWait(StructWait* curr) {
// In IRBuilder, we check that the struct ref matches the type immediate.
// We can't check this here because we've already discarded the type immediate
// at this point. All other validations are here.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a general comment, not specific to StructWait - let's remove it?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mentioned this since it's a validation in principle, and I think it would be considered one according to the spec. Sounds good though, removed it.

@kripken kripken left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm % comment

@stevenfontanella
stevenfontanella enabled auto-merge (squash) August 21, 2026 18:42
@stevenfontanella
stevenfontanella merged commit 9b86340 into main Aug 21, 2026
16 checks passed
@stevenfontanella
stevenfontanella deleted the waitqueue-eq branch August 21, 2026 19:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants