All 19 .phpt files carry a third --INI-- line:
error_reporting=E_ALL & ~E_DEPRECATED
It was added because z-engine's development line declared implicitly nullable parameters (ZEngine\Type\OpLine::__construct()), and PHPUnit's .phpt runner forces display_errors=1, so the deprecation was prepended to the captured output of every test and each --EXPECT-- block failed on noise from a dependency.
The stable releases now required (~8.4.2 || ~8.5.0, #20) declare those parameters ?Type — verified in the installed source — so the suppression no longer suppresses anything.
Verified by forcing error_reporting=E_ALL over every test's own --INI-- block:
| PHP |
z-engine |
Result |
| 8.4.19 |
8.4.2 |
19/19 pass |
| 8.5.9 |
8.5.0 |
19/19 pass |
Work: remove the line from all 19 files, update the --INI-- rules in CLAUDE.md (which currently describes three mandatory lines) and the anatomy example. Purely mechanical; no source change.
All 19
.phptfiles carry a third--INI--line:It was added because z-engine's development line declared implicitly nullable parameters (
ZEngine\Type\OpLine::__construct()), and PHPUnit's.phptrunner forcesdisplay_errors=1, so the deprecation was prepended to the captured output of every test and each--EXPECT--block failed on noise from a dependency.The stable releases now required (
~8.4.2 || ~8.5.0, #20) declare those parameters?Type— verified in the installed source — so the suppression no longer suppresses anything.Verified by forcing
error_reporting=E_ALLover every test's own--INI--block:Work: remove the line from all 19 files, update the
--INI--rules inCLAUDE.md(which currently describes three mandatory lines) and the anatomy example. Purely mechanical; no source change.