Skip to content

SPL: MultipleIterator::setFlags(null) DEP cites parameter #1 (#31795) - #31798

Merged
PurHur merged 1 commit into
masterfrom
fix/31795-multipleiterator-setflags-null
Aug 17, 2026
Merged

SPL: MultipleIterator::setFlags(null) DEP cites parameter #1 (#31795)#31798
PurHur merged 1 commit into
masterfrom
fix/31795-multipleiterator-setflags-null

Conversation

@PurHur

@PurHur PurHur commented Aug 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • MultipleIterator::setFlags(null) now emits Zend-matching E_DEPRECATED citing parameter Php stdlib specs implementation #1 (\$flags) via parseZParamLongBuiltinArgForFrame (was parseIntBuiltinArg with user index 0).
  • PHPT + focused VMTest + VM/JIT unit coverage.

Closes #31795

Test plan

  • php bin/vm.php test/repro/maintainer_gap_multipleiterator_setflags_null.php → DEP parameter Php stdlib specs implementation #1 + flags=0
  • ./script/phpunit.sh --filter 'Issue31795MultipleIteratorSetFlagsNullTest|MultipleIteratorSetFlagsNullSoft31795VMTest' — OK (4)
  • php script/bootstrap-inventory.php --check — OK 7553/7553

Made with Cursor

Use Z_PARAM_LONG soft-null coercion with the correct user arg index so
null flags deprecates as parameter #1 like php-src.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit f1d728a into master Aug 17, 2026
1 check failed
@PurHur
PurHur deleted the fix/31795-multipleiterator-setflags-null branch August 17, 2026 04:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Regression: MultipleIterator::setFlags(null) E_DEPRECATED cites parameter #0 — Zend #1 ($flags) (ext/spl/spl_iterators.c)

1 participant