Skip to content

Update for moon 0.1.20261012 (Int32/UInt32, new deprecations) - #208

Closed
bobzhang wants to merge 1 commit into
masterfrom
health/toolchain-1012
Closed

bobzhang wants to merge 1 commit into
masterfrom
health/toolchain-1012

Conversation

@bobzhang

@bobzhang bobzhang commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

What failed on master (stable check): with moon 0.1.20261012 / moonc v0.10.15

  • moon fmt + git diff --exit-code fails: the formatter now rewrites Int to Int32 and UInt to UInt32 (new builtin aliases).
  • moon check --deny-warn fails: the parsers generated by moonbitlang/yacc call @list.empty(), which the bundled core now deprecates in favour of List([]).

What changed:

  • Formatter output (moon fmt at the workspace root), 78 files. This part is byte-for-byte the tree of promote #207 (promote-20261012), so the two do not conflict; this PR is promote #207 plus the item below.
  • warnings gets -20 (deprecated) in the three packages that contain a generated parser: attribute, mbti_parser, yacc_parser.

For review (left open on purpose):

  • The -20 suppression is a stopgap. The deprecated call is in the generator's own output (runtime and its standard-library rules), not in the .mbty sources, and moonbitlang/yacc@0.7.23 (latest release) still emits it, so bumping the pin does not help. Once a yacc release emits List([]) (fix warnings and bump version moonyacc#87 is in flight), bump the pin in the four moon.pkg rules and drop -20. Until then the suppression also hides deprecations in the hand-written files of those three packages.
  • Overlap with promote #207: merge either one first; the other then reduces to nothing (promote #207) or to the three moon.pkg lines (this PR).

CI status: every step passes on stable and nightly except the last one, "test openseek corpus", which is red for a reason outside this PR: moonbitlang/openseek@main (8647dcb) now contains range patterns written a..<=b (what the new formatter emits for a..=b), and the parser rejects them ("Unexpected token ..<=", 80 corpus checks). That needs ..<= support in the parser itself and will fail the same way on master and on #207.

Verification (moon 0.1.20261012, same commands as the stable workflow): moon -C lexer check ok, moon check --deny-warn clean, moon info --target all without diff, moon fmt without diff, moon test --target all wasm 2907, wasm-gc 2904, js 2904, native 2909, all passing (same counts as before the change). The openseek corpus test was left to CI.

Note: source using Int32/UInt32 needs moon 0.1.20261012 or newer.

@myfreess myfreess closed this Oct 13, 2026
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