Skip to content

Revert "fix(vars): accept a frozenset as an array literal" (#7622) - #7632

Merged
masenf merged 2 commits into
mainfrom
claude/project-thread-t07m06
Oct 22, 2026
Merged

masenf merged 2 commits into
mainfrom
claude/project-thread-t07m06

Conversation

@masenf

@masenf masenf commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

Requested by Masen · project thread

Type of change

  • Revert

Description

Reverts #7622, which registered frozenset on ArrayVar alongside set so a frozen set literal rendered as a JS array.

Treating a set as an ArrayVar is the wrong direction. A set is not a sequence, and the operations a user wants on one (membership, add, remove, union, intersection) are not array operations. Rather than widening the array types further, sets should get their own SetVar backed by the JS Set object; that is now tracked in #7623.

Net effect after the revert is the pre-#7622 state: frozenset is rejected by LiteralVar.create, and set is still routed to ArrayVar as before. #7622 was never released, so there is no changelog entry.

Related: #7623


Generated by Claude Code

View guided diff Turn on auto-fix

This reverts commit 54c9aa6.

Treating a set or frozenset as an ArrayVar is the wrong direction: sets
are not sequences, and the operations users want on them (membership,
add, union) are not array operations. A dedicated SetVar backed by the
JS Set object is tracked in #7623 instead.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014RnswbLCA27Ku2CxbJs58d
@masenf
masenf requested a review from a team as a code owner October 22, 2026 16:40
@masenf masenf added the skip-changelog For doc/internal changes label Oct 22, 2026 — with Claude
@masenf masenf self-assigned this Oct 22, 2026
@greptile-apps

greptile-apps Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge.

Summary

Reverts the unreleased support for treating frozenset values as arrays.

  • Frozen sets no longer become array variables.

No actionable new issues were found.

Reviews (2) · Last reviewed commit: "Merge branch 'main' into claude/project-..." · Reviewed by Greptile

@codspeed

codspeed Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Merging this PR will not alter performance

1 warning

⚠️ 19 benchmarks are dominated by system calls

System calls cannot be simulated consistently and are left out of the measure. The reported value understates the real cost. Switch to the Walltime instrument to measure them.

Learn more about system calls

See affected benchmarks

✅ 148 untouched benchmarks


Comparing claude/project-thread-t07m06 (4482e25) with main (7f89e48)

Open in CodSpeed

masenf commented Oct 22, 2026

Copy link
Copy Markdown
Collaborator Author

CodSpeed reports a -4.69% regression on test_var_access[mutable_dataclass_list] in tests/benchmarks/test_state_proxy.py. That benchmark exercises the state proxy, which this diff does not touch: the revert only removes frozenset from ArrayVar's registered types and from figure_out_type. CodSpeed's own report notes base and head ran on different runner types, so the delta is runner noise rather than this change. CodSpeed is not a required check, so not acknowledging it on the dashboard or re-running.


Generated by Claude Code

@masenf
masenf merged commit 4e751a8 into main Oct 22, 2026
169 checks passed
@masenf
masenf deleted the claude/project-thread-t07m06 branch October 22, 2026 18:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changelog For doc/internal changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants