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
PHP 8.4 property hooks declare a public hooked property and a private backing field with the same name inside one class. Zend rejects duplicate property declarations at compile time.
This compiler accepts the pattern and runs:
class C {
publicint$x { get => $this->x; set => $this->x = $value; }
publicstring$y = 'a';
privateint$x = 1; // duplicate name — must be compile error
}
VM today prints compile-ok x=1 y=a; Zend must not compile.
Fix: Removed detached same-name backing field merge in PropertyHooks (#9673/#9831). Only immediately-adjacent backing fields still merge (#7031). Detached private $x after other properties now hits compiler Cannot redeclare C::$x matching zend_compile.c.
Activity
PurHur commentedon Jun 21, 2026
claim: cursor-agent-lane-b — starting this run
PurHur commentedon Jun 21, 2026
claim: cursor-agent-lane-b — implementing detached same-name backing compile gate (#10393)
Fix property hook detached same-name backing as duplicate compile err…
PurHur commentedon Jun 21, 2026
Merged via #10420.
Fix: Removed detached same-name backing field merge in
PropertyHooks(#9673/#9831). Only immediately-adjacent backing fields still merge (#7031). Detachedprivate $xafter other properties now hits compilerCannot redeclare C::$xmatching zend_compile.c.Verification:
Language: merge detached property-hook backing past sibling members (#…