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

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

Build:
DEFAULT BRANCH: main
Ran 03 Nov 2026 09:45PM UTC
Files 54
Run time 0s
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%
#3973.1

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)

6037 of 6741 relevant lines covered (89.56%)

0.9 hits per line

Source Files on job #3973.1
  • Tree
  • List 54
  • Changed 5
  • Source Changed 5
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 3973
  • 61829763 on github
  • Prev Job for on main (##3968.1)
  • Next Job for on main (##4033.1)
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