• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ponder-lab / Hybridize-Functions-Refactoring / #3972
90%
main: 90%

Build:
Build:
LAST BUILD BRANCH: ariadne-snapshot
DEFAULT BRANCH: main
Ran 03 Nov 2026 09:30PM UTC
Jobs 1
Files 54
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

03 Nov 2026 09:13PM UTC coverage: 89.556% (+0.002%) from 89.554%
#3972

push

github

web-flow
Refuse a function passed a set (#1213)

* Refuse a function passed a set

Fixes #1184. A function called with a Python set was converted to hybrid, and the converted call raised a TypeError on every call, since tf.function can't build a trace key for a set whatever it holds. The only refusal was the primitive-parameter precondition, which examined a set's elements as a stand-in, so a set of floats was refused but a set of tensor references or of program objects converted.

The argument side of HAS_UNCROSSABLE_BOUNDARY_VALUES, which already refuses a call passing a tf.TensorSpec, now also refuses a call passing a set, directly or inside a list, tuple, or dictionary. The set is recognized by the engine's set type on the instances the argument points to. The primitive-parameter check no longer examines a set's elements, as the set is now refused on its own, so the pin in testIdentityKeyedObjectParameter moves from HAS_PRIMITIVE_PARAMETERS to the new refusal.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NTnpjPjJj2aZy1ZkUD1eAn

* Warn on a hybrid function passed a set, and pin a set built by calling set

A hybrid function that a caller passes a set raises on every such call, whatever the set holds. It's left hybrid, since removing its decorator would make the call run instead, and a new SET_ARGUMENT warning says a caller passes it a set.

Only a set display or comprehension is seen. A set built by calling set has no allocation in the engine (wala/ML#1202), so a function passed one still converts. A test pins that with a TODO, and the documentation now says which sets are seen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NTnpjPjJj2aZy1ZkUD1eAn

* Keep a hybrid function passed a set hybrid under every rule

The no-tensor-parameter (P2) and barren (P6) rules still de-hybridized a hybrid function a caller passes a set, though each such cal... (continued)

24 of 26 new or added lines in 4 files covered. (92.31%)

6037 of 6741 relevant lines covered (89.56%)

0.9 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
92.63
-0.04% edu.cuny.hunter.hybridize.core/src/edu/cuny/hunter/hybridize/core/analysis/Function.java
Jobs
ID Job ID Ran Files Coverage
1 #3972.1 03 Nov 2026 09:30PM UTC 54
89.56
Source Files on build #3972
  • Tree
  • List 54
  • Changed 5
  • Source Changed 5
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 61829763 on github
  • Prev Build on gh-readonly-queue/main/pr-1212-5f4a1ad6240463321f785ccb5a6dafaeae7717e0
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc