Skip to content

v0.1.603 — OOP-mutation epic + aliasing family closed + Unicode isdigit

Choose a tag to compare

@noahgift noahgift released this 01 Jul 22:54
· 501 commits to main since this release
b84ac8e

The 8-commit span since v0.1.602 (PMAT-1005/1008/1016/1017/1018):

  • OOP-mutation epic (filed and completed same-day): mutating &mut self methods with a transitive AST fixpoint; explicit __init__ constructors via the ordinary FnSig call machinery; struct-alias clone/move/refuse disposition; new Stmt::SideEffectCall — which also unlocked plain void function statement calls. The slice's adversarial differential caught the predicted arg-clone silent-drop LIVE before ship.
  • Sweep #8 — 261 programs on the day-old surface, 19 confirmed: expression-position mutating calls (E0596, one root cause), field-type coercion, CharCount generics-parse, alias over-refusals — plus the one SILENT finding, return-aliasing launders, closed via FnSig.returns_param (PMAT-1018).
  • Aliasing family closed (PMAT-1008 interim — the entry's own prescribed mitigation): the three-way disposition extended to containers (read-only b = a now WORKS via clone — was E0382); the [row, row] / [[0,0]] * 2 silent miscompiles (CPython 10 vs cloned 5) are now fail-loud with actionable messages. The full reference model remains the deferred strategic decision.
  • Precise Unicode str.isdigit() (PMAT-1005): 83 generated Numeric_Type Digit/Decimal ranges from CPython ground truth, bidi-safe inline emission, no new dependency; isdigit ≠ isnumeric preserved exactly.

Full details in CHANGELOG.md.