Skip to content

Refactor scale offset into dedicated helper functions. - #8449

Open
Jens Hedegaard Nielsen (jenshnielsen) wants to merge 2 commits into
microsoft:mainfrom
jenshnielsen:cleanup_scale_offset
Open

Refactor scale offset into dedicated helper functions.#8449
Jens Hedegaard Nielsen (jenshnielsen) wants to merge 2 commits into
microsoft:mainfrom
jenshnielsen:cleanup_scale_offset

Conversation

@jenshnielsen

Copy link
Copy Markdown
Collaborator

The scale and offset conversions assume a numeric data type and rely on catching TypeError, which does not fit the generic parameter data type. They were expressed inline, so the working variable was repeatedly narrowed to whatever the last branch assigned, and each step needed a suppression.

Move them into four module level helpers that take and return Any. This keeps the arithmetic out of the generic class, deduplicates the iterable and scalar branches, and drops the suppressions in this file from 15 to 3.

Also stop routing issuperset through contains, which ty cannot resolve on Self when the class type parameter has a bound.

lifted from #8441

The scale and offset conversions assume a numeric data type and rely on
catching TypeError, which does not fit the generic parameter data type.
They were expressed inline, so the working variable was repeatedly
narrowed to whatever the last branch assigned, and each step needed a
suppression.
Move them into four module level helpers that take and return Any. This
keeps the arithmetic out of the generic class, deduplicates the iterable
and scalar branches, and drops the suppressions in this file from 15 to
3.
Also stop routing issuperset through __contains__, which ty cannot
resolve on Self when the class type parameter has a bound.
@codecov

codecovBot commented Aug 26, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.14%. Comparing base (f12be6b) to head (8fbca99).

Additional details and impacted files
@@ Coverage Diff @@## main #8449 +/- ##
==========================================
+ Coverage 71.12% 71.14% +0.01% 
==========================================
Files 305 305 Lines 31952 31960 +8 ==========================================
+ Hits 22725 22737 +12 + Misses 9227 9223 -4 

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Cover the iterable branches of the set path helpers, the TypeError
fallbacks and re-raise of the get path helpers, and add direct unit
tests for the four module level helpers. Also add the missing tests
for ParameterSet.issubset/issuperset.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e8c5964a-6418-4d35-b69c-bb44dd727a3c
Sign up for freeto 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

@jenshnielsen