Skip to content
This repository was archived by the owner on Sep 8, 2025. It is now read-only.
This repository was archived by the owner on Sep 8, 2025. It is now read-only.

CABI mismatch for a few small cases #161

@lukewagner

Description

@lukewagner

I found three small CABI spec discrepancies. If fixed, this test should pass. The discrepancies are commented with TODO in that test.

  • When a future.{read,write} successfully completes a copy, the spec currently says that the packed i32 result code should be 0x11 (0x1 in the low nibble b/c the future is CLOSED, 0x1 in the high 28 bits b/c 1 element was copied) but it's currently 0x10.
  • The spec currently says that {stream,future}.new allocates the readable end first, before the writable end, which is observable in the index allocation order.
  • The spec currently says that when an async lowered calls completes eagerly without blocking, the return value is 0; currently it's 2.

I'm not especially wed to any of these details, so if there's a particular reason to change the spec, lmk!

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions