Fix static typing for set and frozenset array vars

HU
10d ago
+88-19

Summary

Fix static typing for set and frozenset array vars so literal creation preserves container types and indexing returns the
appropriate element var type.

  • Widen array type bounds, literal creation overloads, and indexing annotations.
  • Preserve array return types for array operations.
  • Remove the frozenset test cast and add typed regression coverage.
  • Add a changelog fragment.

Sequence component-prop runtime behavior is unchanged.

All Submissions

  • Have you followed the guidelines stated in CONTRIBUTING.md?
  • Have you checked for other open pull requests addressing this change?

Type of change

  • Bug fix (non-breaking change which fixes an issue)

Changes To Core Features

  • Added an explanation of the changes and why they should be included.
  • Added regression tests.
  • Successfully ran tests with the changes locally.

Validation

  • Full unit suite: 12,107 passed, 26 skipped.
  • Coverage: 80.18% (required: 72%).
  • Linux-targeted Pyright: 0 errors, 1 warning in an unchanged file.
  • All other pre-commit hooks passed.
  • Native macOS Pyright reports 6 errors in unchanged benchmark files involving CPU-affinity APIs.
  • Integration tests were not run.

Related to ENG-13480; surfaced in the review of #7622.

Closes #7623