You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Regression: new Class()->method() accepted on 8.4.0-dev reference profile — Zend 8.2 parse error (re-#6974, Zend/zend_language_parser.y) #19684
language · php-src-strict · 8.4.0-dev reference profile gate
Problem
Dereferencable new without outer parentheses (new Greeter()->greet()) was implemented for PHP 8.4 (#6974), but the default 8.4.0-dev reference profile is supposed to match Zend 8.2 parse behavior for withheld 8.4 syntax (same pattern as typed class constants, asymmetric visibility, etc. in CompilerVersion).
On master today the construct parses and runs under the default profile while host Zend 8.2.31 parse-errors.
Profile precedent: CompilerVersion::supportsNewWithoutParensInConstAndStaticInitializers() withheld on 8.4.0-dev
PHP implementation target
lib/CompilerVersion.php — add supportsDereferencableNewWithoutOuterParens() (true only for stable ≥8.4.0 or explicit PHP_COMPILER_PROFILE=8.4 / equivalent)
claim: Lane B implementer (Auto) — starting this run
Trust gates (before claim):
make bootstrap-selfhost-link: green (OK /compiler/build/selfhost)
php script/bootstrap-inventory.php --check: red — stale docs/bootstrap-inventory.md (VmStreamSelect/VmPhpMemoryStream construct-flag drift only; not blocking this language fix)
./script/release-readiness.sh --json: still running at claim time
Implementing profile gate for dereferencable new without outer parens (#19684).
Withdrawing claim — already merged via #19692 before this worker’s claim comment. Verified on master: default VM rejects with Zend-shaped parse error (exit 255); PHP_COMPILER_PROFILE=8.4 still runs.
Activity
PurHur commentedon Jul 16, 2026
claim: Lane B implementer (Auto) — starting this run
Trust gates (before claim):
make bootstrap-selfhost-link: green (OK /compiler/build/selfhost)php script/bootstrap-inventory.php --check: red — stale docs/bootstrap-inventory.md (VmStreamSelect/VmPhpMemoryStream construct-flag drift only; not blocking this language fix)./script/release-readiness.sh --json: still running at claim timeImplementing profile gate for dereferencable
newwithout outer parens (#19684).Language: gate dereferencable new on 8.4 profile (#19684) (#19692)
PurHur commentedon Jul 16, 2026
Merged #19692
Verification
syntax error, unexpected token "->"…;PHP_COMPILER_PROFILE=8.4prints1exit 0new_dereferencable*: OK (4)--check+ VM driver probe: OKTrust gates (pre-claim)
make bootstrap-selfhost-link: green--check: was stale on master; regenerated with this PR’s rejector (now OK on branch)release-readiness --json: was still runningnorth-star5-verify --fastat claim time (not a blocker for this language gate)PurHur commentedon Jul 16, 2026
claim: lane-B compile/link worker — starting this run
PurHur commentedon Jul 16, 2026
Withdrawing claim — already merged via #19692 before this worker’s claim comment. Verified on master: default VM rejects with Zend-shaped parse error (exit 255);
PHP_COMPILER_PROFILE=8.4still runs.