Skip to content

fix: add missing setvariabletype in array filter, map, reduce, some, every, includes, shift#179

Merged
cs01 merged 1 commit intomainfrom
fix/array-reduce-type-tracking
Mar 10, 2026
Merged

fix: add missing setvariabletype in array filter, map, reduce, some, every, includes, shift#179
cs01 merged 1 commit intomainfrom
fix/array-reduce-type-tracking

Conversation

@cs01
Copy link
Owner

@cs01 cs01 commented Mar 10, 2026

Summary

  • Add missing setVariableType calls for return values in 10 array method codegen functions
  • Numeric filter and map were missing type tracking (%Array*), while their string counterparts had it
  • some, every, includes (both numeric and string variants) returned double from raw sitofp without type tracking
  • Numeric shift returned double from raw phi without type tracking
  • String reduce used raw emit for load instead of emitLoad (which auto-tracks type)

These gaps mean downstream code can't determine the return type of these array operations, which can cause wrong IR when the result is used in assignments, parameter passing, or chained operations.

Test plan

  • All 448 tests pass (node + native)
  • Self-hosting chain passes (--quick)

🤖 Generated with Claude Code

@cs01 cs01 force-pushed the fix/array-reduce-type-tracking branch from 06c747d to 933ff37 Compare March 10, 2026 05:20
…every, includes, shift

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@cs01 cs01 force-pushed the fix/array-reduce-type-tracking branch from 933ff37 to 5595b1d Compare March 10, 2026 05:21
@cs01 cs01 changed the title fix: add missing setusejson in response.ts, use emitload in string array reduce fix: add missing setvariabletype in array filter, map, reduce, some, every, includes, shift Mar 10, 2026
@cs01 cs01 merged commit 0dc22b1 into main Mar 10, 2026
7 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.

1 participant