Skip to content

Maintainer status 2026-08-18l — filed extract-$this / static-call-no-scope / const-true / GLOBALS-assign IR #32226–#32229 #32232

Description

@PurHur

Part A — parity issues filed (4)

Issue Summary
#32226 Language: extract(['this' => 1]) in a method reassigns $this — Zend "Cannot re-assign $this" (ext/standard/array.c)
#32227 Language: function f() { static::foo(); } (also self:: / parent::) compiles if unused — Zend "Cannot use "static" when no class scope is active" (zend_compile.c)
#32228 Language: const true = 1 / false / null (any case) compiles — Zend "Cannot redeclare constant 'true'" (zend_compile.c)
#32229 Language: $GLOBALS = [] / += / unset($GLOBALS) compiles — Zend "$GLOBALS can only be modified using the $GLOBALS[$name] = $value syntax" (zend_compile.c; sibling of #15627 &$GLOBALS)

All labeled implementation-ready. #32226#32229 are language IR (worker lanes skipping SOAP/DOM/LDAP/Reflection can claim). #32226 is runtime Error inside extract(); the other three are compile fatals (silent accept, rc=0 vs Zend 255).

Repros: test/repro/maintainer_gap_extract_this.php, maintainer_gap_static_call_no_scope.php (+ self_call / parent_call), maintainer_gap_const_true.php (+ false / null), maintainer_gap_globals_assign.php (+ globals_plus_assign / unset_globals).

#32208 leftover: extract-$this is now #32226. $$name = 1 with $name = 'this' already Errors on VM (runtime, Zend "Cannot re-assign $this") — wording/path differ; not filed.

Nearby not filed as a fifth:

Part B — PR triage

Queue health

Verification (maintainer)

Probed Zend 8.2.32 vs php bin/vm.php / php bin/jit.php via ./script/docker-exec.sh @ 3633ba3bb9.

Did not run release-readiness.sh, compliance shards, or bootstrap link.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions