You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Regression: Closure::fromCallable([$this, private]) — Class 'this' not found (re-#23688, Zend/zend_closures.c) #27137
Closure::fromCallable([$this, 'priv']) for a private instance method must return an invokable Closure (Zend). VM/JIT emit Closure::fromCallable(): Class 'this' not found and never build the closure.
#23688 (2026-07-27) recorded this form as already green on VM. Re-verified 2026-08-03 at 1e28f10a8 — regressed.
Maintainer note: protected visibility hits the same Class 'this' not found path — filed sibling #27143 (Closure::fromCallable([$this, protected]) from subclass). FCC $this->f(...) already green for protected.
Activity
PurHur commentedon Aug 3, 2026
Maintainer note: protected visibility hits the same
Class 'this' not foundpath — filed sibling #27143 (Closure::fromCallable([$this, protected])from subclass). FCC$this->f(...)already green for protected.PurHur commentedon Aug 3, 2026
claim: lane-C implementer — starting this run
Language: Closure::fromCallable([$this, method]) keeps object receiver (
PurHur commentedon Aug 3, 2026
Merged in #27161
Verification
test/repro/maintainer_gap_fromcallable_private.php→this_form=7closure_from_callable_this_private_invoke.phptfromCallablenow lowers toTYPE_FROM_CALLABLE(keeps$thisas object; no class name"this")Also closed sibling #27143 (protected) in the same PR.
Language: Closure::fromCallable([$this, method]) keeps object receiver (