Skip to content

fix(moonbit): modernize generated bindings and cancellation primitives - #1715

Merged
alexcrichton merged 5 commits into
bytecodealliance:mainfrom
peter-jerry-ye:codex/moonbit-suberror-templates
Sep 21, 2026
Merged

alexcrichton merged 5 commits into
bytecodealliance:mainfrom
peter-jerry-ye:codex/moonbit-suberror-templates

Conversation

@peter-jerry-ye

Copy link
Copy Markdown
Contributor

Generated MoonBit bindings use outdated suberror payload syntax and can exceed the compiler's per-segment line limit. The bundled async runtime also needs the upstream cancel/nocancel primitive migration.

This updates suberror payloads and emits ///| before generated top-level declarations. The async runtime adopts cancellation effects while preserving terminal-event cleanup for component buffers and handles. Existing runtime fixtures exercise catch bypass, sticky cancellation, shielding, and cancellation through TaskGroup.

The warning cleanup retains derived trait methods as deprecated compatibility aliases for the impl/extend transition, emits FFI helpers only when needed, updates deprecated syntax, and keeps Debug coverage while dropping deprecated Show derivation from test defaults.

The five commits separate syntax fixes, declaration boundaries, cancellation migration, and warning cleanup. Broader CM task cancellation semantics remain follow-up work.

MoonBit remains excluded from the current CI language matrix; enabling its codegen/runtime jobs is a separate follow-up.

@alexcrichton
alexcrichton added this pull request to the merge queue Sep 21, 2026
Merged via the queue into bytecodealliance:main with commit 367e1ac Sep 21, 2026
29 checks passed
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