Skip to content

Language: prefix implicit-nullable E_DEPRECATED with f()/C::m() (#29274) - #29286

Merged
PurHur merged 1 commit into
masterfrom
agent/issue-29274-implicit-nullable-deprecation-prefix
Aug 9, 2026
Merged

PurHur merged 1 commit into
masterfrom
agent/issue-29274-implicit-nullable-deprecation-prefix

Conversation

@PurHur

@PurHur PurHur commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Summary

php-src reference

  • Zend/zend_compile.c — implicit nullable deprecation
  • Message shape via zend_error function-name prefix

Test plan

  • Issue repro (VM + JIT)
  • Focused PHPUnit: ImplicitNullableDeprecatedPrefix{VM,JIT}Test
  • Compared message shape to php:8.4-cli

Verification

$ ./script/docker-exec.sh -- bash -lc 'export PHP_COMPILER_PROFILE=8.4; php bin/vm.php test/repro/maintainer_run_20260809g/implicit_nullable_deprecated_prefix.php'
f(): Implicitly marking parameter $x as nullable is deprecated, the explicit nullable type must be used instead

$ ./script/docker-exec.sh -- bash -lc 'export PHP_COMPILER_PROFILE=8.4; php bin/jit.php test/repro/maintainer_run_20260809g/implicit_nullable_deprecated_prefix.php'
f(): Implicitly marking parameter $x as nullable is deprecated, the explicit nullable type must be used instead

$ ./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && vendor/bin/phpunit --filter ImplicitNullableDeprecatedPrefix'
OK (4 tests, 4 assertions)

Gates before claim: inventory OK 7262/7262; north-star5-fast ok; user_release_ready: no (helper-runtime-prelink stale + gen-0 provenance stale — pre-existing, not this PR).

Made with Cursor

Match Zend 8.4 zend_error callable labels so PROFILE≥8.4 messages read
`f(): Implicitly marking…` (and `{closure:file:line}():` for closures).

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit 30f13b0 into master Aug 9, 2026
1 check failed
@PurHur
PurHur deleted the agent/issue-29274-implicit-nullable-deprecation-prefix branch August 9, 2026 08:41
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.

Language: implicit nullable E_DEPRECATED omits function name prefix — Zend "f(): Implicitly marking…" (zend_compile.c)

1 participant