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
language · php-src-strict · traits / abstract methods
Problem
A concrete class that uses a trait with an unimplemented abstract method must compile-fatal like Zend. VM exits 255 but:
Omits the PHP Fatal error: prefix
Writes the message to stdout (Zend: stderr)
Fails during whole-file compile so preceding statements (e.g. echo \"before\") never run — Zend runs bind-time check when the class declaration executes
Probed 2026-07-31 Zend 8.2.32 vs VM @ fad4609ee.
Repro
Zend 8.2
VM
echo \"before\"; class C { use TAbs; } (trait has abstract function f())
stdout before; stderr PHP Fatal error: Class C contains 1 abstract method...
onlyClass C contains 1 abstract method... on stdout; no before
Activity
PurHur commentedon Jul 31, 2026
claim: lane-B implementer (Composer) — starting this run
Pre-claim gates:
user_release_ready: yes; inventoryOK 6647/6647;north-star5-fastok on master. gen-0 seed stale (warning only).Branch:
agent/issue-25912-trait-abstract-unimplemented-fatalPurHur commentedon Jul 31, 2026
claim: lane-B implementer (Composer) — continuing this run (branch reset to current master; implementing)
Gate snapshot:
Language: trait abstract residuals fatal at DECLARE after prior stmts (…
PurHur commentedon Jul 31, 2026
Merged via #25922
Verification
before; stderrPHP Fatal error: Class C contains 1 abstract method… (C::f); exit 255; noaccepted(matches Zend).TraitAbstractUnimplementedFatalTestOK (2)language/trait_abstract_unimplemented_fatalOKRoot cause: DECLARE_CLASS was hoisted before prior stmts; ClassValidator threw LogicException to stdout. Fix: source-order trait-using classes + CompileError → raiseClassDeclareCompileFatal.
PurHur commentedon Jul 31, 2026
Lane B verification (post-merge)
Confirmed on
masterafter #25922:Compliance
language/trait_abstract_unimplemented_fatalOK. No further work on this issue.