Skip to content

Fix nested call operand regression from #11409 byRef guard (#11313) - #11427

Merged
PurHur merged 1 commit into
masterfrom
agent/issue-11313-nested-call-operand-regression
Jun 25, 2026
Merged

PurHur merged 1 commit into
masterfrom
agent/issue-11313-nested-call-operand-regression

Conversation

@PurHur

@PurHur PurHur commented Jun 25, 2026

Copy link
Copy Markdown
Owner

Summary

Closes #11313

Also fixes siblings #9547, #11366 (shared compiler operand pipeline).

Verification

./script/docker-exec.sh -- bash -lc 'source script/php-env.sh
php test/repro/maintainer_hash_algos_in_array.php
php bin/vm.php test/repro/maintainer_hash_algos_in_array.php
php test/repro/maintainer_gap_nested_array_builtin_arg.php
php bin/vm.php test/repro/maintainer_gap_nested_array_builtin_arg.php
php test/repro/maintainer_gap_chown_nested_getmyuid.php
php bin/vm.php test/repro/maintainer_gap_chown_nested_getmyuid.php
vendor/bin/phpunit --filter testInArrayNestedHashAlgosRuntime
vendor/bin/phpunit --filter testChownNamedPathNestedGetmyuidArgSend
'

Output (VM):

true
true
true
true
nested: false
control: false
chgrp nested: false
OK (1 test, 1 assertion)  # hash_algos
OK (1 test, 1 assertion)  # chown

Regression introduced by be48d7b2a (#11409); bisect confirmed.

Made with Cursor

inlineCallArgProducerPassesByRefGuards returned false when operand identity
failed to link producer→arg even though position matching still applies;
restore permissive pass after scoped named-local checks (#11409 chown fix).

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: hash_algos() returns NULL as in_array() haystack — nested call operand (ext/standard/array.c hash.c)

1 participant