Skip to content

Fix 3-array array_intersect_ukey and ArrayObject getIteratorClass inline args (#5644, #10778) - #12687

Merged
PurHur merged 1 commit into
masterfrom
agent/stdlib-ukey-arrayobject-batch
Jun 27, 2026
Merged

PurHur merged 1 commit into
masterfrom
agent/stdlib-ukey-arrayobject-batch

Conversation

@PurHur

@PurHur PurHur commented Jun 27, 2026

Copy link
Copy Markdown
Owner

Summary

  • Collect three sibling inline Array_ producers for array_intersect_ukey($a, $b, $c, $callback) instead of stopping after two.
  • Skip void setIteratorClass() when resolving hoisted MethodCall preludes so var_export($ao->getIteratorClass(), true) receives the getter result.
  • Only treat multiple inline arrays as a single nested arg when they actually form a nested chain.

Test plan

  • vendor/bin/phpunit --filter 'array_udiff_family|ArrayIntersectUkeyThreeArrayTest|arrayobject_getiterator_after_set|ArrayObjectGetIteratorAfterSetTest'
  • vendor/bin/phpunit --filter testArrayMapDualInlineArrayLiteralUsesAllSlots test/unit/InlineCallArgProducerSlotTest.php

Made with Cursor

… getter.

Collect all sibling inline array producers before multi-array ukey calls, skip void setIteratorClass when mapping hoisted MethodCall preludes to var_export, and require a true nested array chain before treating multiple Array_ producers as one arg.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit ecd1bfc into master Jun 27, 2026
@PurHur
PurHur deleted the agent/stdlib-ukey-arrayobject-batch branch June 27, 2026 14:36
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.

1 participant