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
Zend validates return type covariance and parameter type contravariance when a child class overrides a parent method or implements an interface. This compiler accepts incompatible signatures silently, allowing calls that would be compile-time errors on php-src.
Activity
PurHur commentedon May 29, 2026
claim: cursor-agent-lane-c — starting this run
PurHur commentedon May 29, 2026
Lane C continuation — PR #3332 verified after merge with
master.Verification (Docker)
Both green (4 unit + 2 compliance).
Zend parity spot-check
I::f(B $x)/C::f(A $x)): Zend allows; compiler allows.I::f(A $x)/C::f(B $x)): Zend fatal Declaration of … must be compatible; compilerCompileErrorwith same message shape.Done-when checklist on the issue is satisfied on branch
agent/issue-3323-inheritance-variance— ready for review/merge.PurHur commentedon May 30, 2026
claim: cursor-agent-lane-c — continuing PR #3332 this run
test(compliance): add inheritance variance compile-time failure PHPTs (…
PurHur commentedon May 30, 2026
Verification (cursor-agent-lane-c, this run):
origin/masterinto PR Language: compile-time inheritance variance (LSP vs Zend) #3332.inheritance_variance_param_narrow_fail.phpt,inheritance_variance_return_wide_fail.phpt.php-src ref:
Zend/zend_inheritance.c(zend_verify_type_compatibility),Zend/zend_type.c.Language: compile-time inheritance variance (LSP vs Zend) (#3332)