Category
Regression: · php-src-strict · SPL soft-null
Problem
RecursiveTreeIterator::setPostfix(null) under non-strict types must emit E_DEPRECATED ("Passing null to parameter #1 ($postfix) of type string is deprecated") and soft-coerce to \"\". VM throws TypeError.
Sibling soft-null: setPrefixPart(null, …) part long (#31677).
Probed 2026-08-17 — host Zend PHP 8.2+ vs php bin/vm.php.
| Repro |
Zend 8.2+ |
VM (2026-08-17) |
$t->setPostfix(null) |
E_DEPRECATED + empty postfix |
TypeError |
php-src reference
PHP implementation target
ext/spl/RecursiveTreeIteratorBuiltin.php — VmString::coerceStringBuiltinArg for $postfix
Repro
./script/docker-exec.sh -- bash -lc 'php bin/vm.php test/repro/maintainer_gap_rtt_setpostfix_null.php'
Done when
Category
Regression:· php-src-strict · SPL soft-nullProblem
RecursiveTreeIterator::setPostfix(null)under non-strict types must emitE_DEPRECATED("Passing null to parameter #1 ($postfix) of type string is deprecated") and soft-coerce to\"\". VM throwsTypeError.Sibling soft-null:
setPrefixPart(null, …)part long (#31677).Probed 2026-08-17 — host Zend PHP 8.2+ vs
php bin/vm.php.$t->setPostfix(null)E_DEPRECATED+ empty postfixTypeErrorphp-src reference
ext/spl/spl_iterators.c—zim_RecursiveTreeIterator_setPostfix/Z_PARAM_STRPHP implementation target
ext/spl/RecursiveTreeIteratorBuiltin.php—VmString::coerceStringBuiltinArgfor$postfixRepro
./script/docker-exec.sh -- bash -lc 'php bin/vm.php test/repro/maintainer_gap_rtt_setpostfix_null.php'Done when