Skip to content

Stdlib: drop phantom $strict from array_find family (#23875) - #23913

Merged
PurHur merged 1 commit into
masterfrom
fix/23875-array-find-no-strict
Jul 27, 2026
Merged

PurHur merged 1 commit into
masterfrom
fix/23875-array-find-no-strict

Conversation

@PurHur

@PurHur PurHur commented Jul 27, 2026

Copy link
Copy Markdown
Owner

Summary

Closes #23875

Test plan

  • PHP_COMPILER_PROFILE=8.4 php bin/vm.php test/repro/maintainer_gap_array_find_no_strict_84.php → ok
  • PHP_COMPILER_PROFILE=8.4 php -d memory_limit=1536M vendor/bin/phpunit --filter 'array_find_strict|array_find_named_params' test/compliance/VMTest.php → 3 OK
  • Same filter on JITTest.php → 3 OK
  • PHP_COMPILER_PROFILE=8.4 php bin/compile.php -o /tmp/af_bad test/repro/maintainer_gap_array_find_arity_aot_84.php && /tmp/af_bad → fatal ArgumentCountError (exit 255)
  • BuiltinParamNamesAliasTest::testArrayAllAnyNamedParameters → OK
  • Not covered: full ci-fast / spine (master spine red on unrelated soap include); multi-try AOT catch CFG for this family still flaky (uncaught path verified)

Trust probe (this run)

Gate Status
bootstrap-inventory --check OK 6591/6591
release-readiness user_release_ready: no (spine-coverage / north-star5-fast red on master — soap include)

Made with Cursor

Match php-src stubs (exactly array+callback). Reject a 3rd argument with
ArgumentCountError on VM/JIT/AOT; keep optional $strict only on
forward-profile array_*_key helpers.

Co-authored-by: Cursor <cursoragent@cursor.com>
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: array_find/array_find_key/array_any/array_all advertise phantom $strict — Zend expects exactly 2 args (re-#6949, ext/standard/array.c)

1 participant