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

ptondereau / ext-php-rs / 24394367537
66%
master: 66%

Build:
Build:
LAST BUILD BRANCH: fix/string-prop-getter-zend-string-leak
DEFAULT BRANCH: master
Ran 14 Apr 2026 10:40AM UTC
Jobs 1
Files 95
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

14 Apr 2026 10:20AM UTC coverage: 66.265%. First build
24394367537

push

github

ptondereau
feat: use static function pointers for class properties instead of heap allocations

Previously, each PHP class property required boxing closures (Box<dyn Fn>)
and building a HashMap at runtime. This happened once per class but was
unnecessary since all property metadata is known at compile time.

Now the macros generate plain function pointers and static arrays that
live entirely in read-only memory. Property lookup uses a simple linear
scan over two small slices (field props, then getter/setter props),
which is faster than hashing for the typical class size (< 20 properties).

This removes the Property enum, Prop trait, and PropertyInfo struct,
replacing them with a single PropertyDescriptor<T> that holds:
- fn(&T, &mut Zval) -> PhpResult for getters
- fn(&mut T, &Zval) -> PhpResult for setters
- visibility flags, type info, docs

Also adds callgrind-based property read/write benchmarks.

Closes #70

69 of 146 new or added lines in 6 files covered. (47.26%)

8417 of 12702 relevant lines covered (66.27%)

33.42 hits per line

Uncovered Changes

Lines Coverage ∆ File
26
0.0
src/zend/handlers.rs
23
15.19
src/class.rs
18
88.71
crates/macros/src/impl_.rs
8
71.03
src/builders/module.rs
2
0.0
src/internal/class.rs
Jobs
ID Job ID Ran Files Coverage
1 24394367537.1 14 Apr 2026 10:40AM UTC 95
66.27
GitHub Action Run
Source Files on build 24394367537
  • Tree
  • List 95
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24394367537
  • 0d85ed6f on github
  • Next Build on feat/static-property-descriptors (#24394807717)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc