Skip to content

fix(codegen): route array parameter methods by type#72

Merged
luisleo526 merged 1 commit into
mainfrom
fix/ki48e-array-param-methods
Jul 17, 2026
Merged

fix(codegen): route array parameter methods by type#72
luisleo526 merged 1 commit into
mainfrom
fix/ki48e-array-param-methods

Conversation

@luisleo526

Copy link
Copy Markdown
Contributor

Summary

  • route array-typed UDF parameter method receivers through the existing array lowering by parameter TypeSpec
  • give parameter TypeSpecs lexical precedence over same-named global collection registries
  • preserve existing namespace/global/local/arbitrary receiver output byte-for-byte

Regression coverage

  • positional and keyword array.percentrank on typed parameters
  • checked read/mutation methods across float, int, bool, string, and UDT elements
  • caller-visible mutation aliasing and receiver/index/value one-evaluation order
  • same-name global array/map/matrix shadowing probes
  • compile smoke for parameter method lowering

Verification

  • focused committed tests: 3/3
  • affected files: 96/96
  • full engine-enabled pytest against pinned public engine: 1,704 passed / 2 skipped
  • native/Pyodide differential: 277/277
  • exact frozen 666-source manifest: byte-identical to base at 26ff05c3...a7e (660 OK / same 6 errors)
  • independent review: approved; no scoped blocker
  • git diff --check: clean

Explicitly separate residuals

  • typed map/matrix parameter keyword dispatch
  • generic UDF collection/element return inference
  • user extension methods on array<T>

@luisleo526
luisleo526 marked this pull request as ready for review July 17, 2026 21:17
@luisleo526
luisleo526 merged commit a613e33 into main Jul 17, 2026
9 checks passed
@luisleo526
luisleo526 deleted the fix/ki48e-array-param-methods branch July 17, 2026 21:18
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.

1 participant