-
motoko (
moc)-
feat: M0218 ("redundant
stablekeyword") now ships a machine-applicable edit, somops check --fixremoves the explicitstablekeyword on fields of apersistent actor(#6175). -
feat: Permitting destructuring patterns against actor types —
let { foo } = a,func g({foo} : actor T) {}, etc. (#6149). -
feat:
/// @deprecated M0235 <message>— the caffeine deprecation warning (M0235) can now carry a free-text message, rendered as anote:sub-diagnostic at every use site. M0154 free-text deprecation messages now render the same way (#6153). -
perf: Multi-value Wasm codegen is now on by default,
--no-experimental-multi-valueflag disables (if not desired) (#6165). -
bugfix: M0237 (implicit argument can be omitted) only fires now when the suggested removal preserves the same type instantiation. Previously the edit could be rejected (M0098) (#6166).
-
bugfix: M0236 dot-notation suggestion no longer fires for literal receivers — the
lit.f()rewrite could misparse (-1.1.isNaN()→-(1.1.isNaN())), mis-lex (0xff.absas a hex float), or fail to type-check when it lost a literal coercion (Blob.isEmpty("\00")→"\00".isEmpty()) (#6173). -
bugfix: M0236 dot-notation suggestion no longer fires when the receiver cannot be inferred or would infer to a different type causing the call to resolve to a different function (#6177).
-
bugfix: Implicit argument derivation now resolves type variables that occur only in a covariant result position (e.g. JSON-style decoders
Text -> ?T). Previously such a variable was solved toNone(bottom), so the implicit had to be passed explicitly (#6186). -
bugfix: Diagnostic columns now count Unicode codepoints (matching editor displays and
rustc), and JSON diagnostics gainbyte_start/byte_endfor encoding-independent edit anchors. Previouslymops check --fixover-deleted on multi-byte lines (e.g.Char.toNat32('京')trimmed the trailing)) (#6168).
-