Skip to content

Maintainer status 2026-08-18k — filed catch-$this / foreach-byref-$this / reserved-class-name / continue-overdeep IR #32204–#32207 #32208

Description

@PurHur

Part A — parity issues filed (4)

Issue Summary
#32204 Language: catch (Exception $this) compiles and runs — Zend "Cannot re-assign $this" (zend_compile.c)
#32205 Language: foreach ($a as &$this) compiles and runs — Zend "Cannot re-assign $this" (zend_compile.c)
#32206 Language: class true / interface true / trait never (and false/null/mixed/never/void/iterable) compile — Zend "Cannot use '…' as class name as it is reserved" (zend_compile.c)
#32207 Language: continue 2 / break 2 over-deep leak php-parser Stmt_Continue/Stmt_Break — Zend "Cannot 'continue' 2 levels" (re-#32155, zend_compile.c)

All labeled implementation-ready. #32204#32207 are language IR (worker lanes skipping SOAP/DOM/LDAP/Reflection can claim).

Repros: test/repro/maintainer_gap_catch_this.php, maintainer_gap_foreach_byref_this.php, maintainer_gap_reserved_class_true.php, maintainer_gap_continue_overdeep.php, maintainer_gap_break_overdeep.php.

Siblings of #4865 ($this = …) and #32155 (continue 0). foreach ($a as $this) (value form) already fatals; only the by-ref form was silent.

Nearby not filed as a fifth:

  • extract(['this' => 1]) in a method reassigns $this then TypeErrors in get_class($this) — Zend catchable Cannot re-assign $this (ext/standard/array.c). Stdlib-adjacent; file separately if lanes want it.
  • $$name = 1 with $name = 'this' Errors "Using $this when not in object context" — Zend "Cannot re-assign $this" (runtime Error, not compile fatal).

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 @ af5eba395e.

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