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

ponder-lab / Hybridize-Functions-Refactoring / #3760
90%

Build:
DEFAULT BRANCH: main
Ran 23 Oct 2026 05:31PM UTC
Jobs 1
Files 49
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

23 Oct 2026 05:08PM UTC coverage: 89.056% (+0.06%) from 88.998%
#3760

push

github

web-flow
Follow a parameter's value through a store into a container (#1155)

* Follow a parameter's value through a store into a container

Numpy applied to a value that a function put into a tuple, list, or dict, or onto an object's attribute, wasn't seen as applied to the function's parameters. The front end lowers each such store to a property write, which defines nothing, so the walk over def-use chains stopped there: neither a read of the value back out of the container nor a callee the container was passed to, such as a Keras model called on `(x, w)`, was followed.

A parameter-derived value stored into a container or an object now taints the whole container and counts as escaping the function. Only the value color is carried: a shape-colored container would carry no provenance, so it could add no refusal.

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

* Taint only the stored attribute, not the object

Tainting the whole object on an attribute store made `self.a = x` taint `self`, so numpy over any other attribute of `self` in that method was refused too. An attribute store now taints only that attribute, read from the same value in the same function. Element stores into a tuple, list, or dict, and subscript stores, still taint the whole container, which is the value that flows onward.

The front end lowers both kinds of store to the same property write, and a string-keyed subscript has a string constant member just as an attribute does. A store is taken for an attribute store when its member is a string constant and its object is neither allocated in the function as a container nor points to one.

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

* Take a store into an object of unknown type for a container store

A string-keyed store into an object that the function doesn't allocate and whose... (continued)

33 of 33 new or added lines in 1 file covered. (100.0%)

5493 of 6168 relevant lines covered (89.06%)

0.89 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #3760.1 23 Oct 2026 05:31PM UTC 49
89.06
Source Files on build #3760
  • Tree
  • List 49
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • ebbe1740 on github
  • Prev Build on gh-readonly-queue/main/pr-1152-541f690319ff2430431a9c1c86cc8e6f5bb4f1cf
  • Next Build on main
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