Skip to content

Language: restore unset($obj->arr[$k]) mutating instance/static props (#31818) - #31825

Merged
PurHur merged 1 commit into
masterfrom
agent/issue-31818-unset-object-array-dim
Aug 17, 2026
Merged

PurHur merged 1 commit into
masterfrom
agent/issue-31818-unset-object-array-dim

Conversation

@PurHur

@PurHur PurHur commented Aug 17, 2026

Copy link
Copy Markdown
Owner

Summary

Test plan

  • ./script/docker-exec.sh -- bash -lc 'php bin/vm.php test/repro/maintainer_gap_unset_object_array_dim.php' — empty arrays (matches Zend)
  • ./script/docker-exec.sh -- bash -lc 'php bin/vm.php test/repro/maintainer_gap_unset_object_array_dim_static.php' — t=1 u=1
  • ./script/phpunit.sh --filter 'UnsetComplianceTest|TypedPropIssetDimUninit31783VMTest|TypedPropIssetDimUninit31783JITTest|UninitTypedArrayDimAssignVMTest|UninitTypedArrayDimRwVMTest' — OK (12 + 1 JIT)

Verification transcript (VM repro)

t=array (
)
pt=array (
)
u=array (
)
pu=array (
)

Made with Cursor

…#31818)

unsets copied the array and became no-ops. Keep IS-mode only for isset/empty/??.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur force-pushed the agent/issue-31818-unset-object-array-dim branch from ac39391 to 65ecafb Compare August 17, 2026 04:37
@PurHur
PurHur merged commit 06a2210 into master Aug 17, 2026
1 check failed
@PurHur
PurHur deleted the agent/issue-31818-unset-object-array-dim branch August 17, 2026 04:37
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: unset($obj->arr[$k]) no-ops again on instance/static array props — Zend removes (re-#24250, zend_execute.c)

1 participant