Skip to content

Replace @deprecated with #[\Deprecated] for internal constants #18780

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

DanielEScherzer
Copy link
Member

@DanielEScherzer DanielEScherzer commented Jun 5, 2025

Only covers constants declared via stub files, others will be handled separately in a later commit.

Does not include the intl extension, since that had some errors relating to the cpp code; that extension will be updated separately.

Also fix an undefined variable warning in gen_stub.php.

Only covers constants declared via stub files, others will be handled
separately in a later commit.

Does not include the intl extension, since that had some errors relating to the
cpp code; that extension will be updated separately.

Also fix an undefined variable warning in gen_stub.php.
@DanielEScherzer DanielEScherzer force-pushed the constants-stubs-use-deprecated branch from 550eb12 to 2792802 Compare June 6, 2025 00:34
@DanielEScherzer DanielEScherzer marked this pull request as ready for review June 6, 2025 01:13
@nielsdos
Copy link
Member

nielsdos commented Jun 6, 2025

If you look at the filter arginfo you can see that the same strings are allocated twice. Do you think you can avoid this at least within the same arginfo file?

@DanielEScherzer
Copy link
Member Author

If you look at the filter arginfo you can see that the same strings are allocated twice. Do you think you can avoid this at least within the same arginfo file?

Not easily - I'll add it to my list of improvements for gen_stub.php, but this isn't anything new

Copy link
Member

@TimWolla TimWolla left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok for ext/random

@TimWolla
Copy link
Member

TimWolla commented Jun 9, 2025

the same strings are allocated twice

It should probably be safe to just intern them all. They are always allocated on start-up, so the memory will be used either way. Interning should just reduce it, no?

@DanielEScherzer
Copy link
Member Author

the same strings are allocated twice

It should probably be safe to just intern them all. They are always allocated on start-up, so the memory will be used either way. Interning should just reduce it, no?

Probably, and I will definitely look into this, but I'd prefer not to block the rest of the patch

@nielsdos
Copy link
Member

nielsdos commented Jun 9, 2025

the same strings are allocated twice

It should probably be safe to just intern them all. They are always allocated on start-up, so the memory will be used either way. Interning should just reduce it, no?

Yes I agree.
If you pinky promise that you're gonna look at it before 8.5's release I'll allow it.

Copy link
Member

@nielsdos nielsdos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK for DOM, Enchant, SOAP

@DanielEScherzer
Copy link
Member Author

the same strings are allocated twice

It should probably be safe to just intern them all. They are always allocated on start-up, so the memory will be used either way. Interning should just reduce it, no?

Yes I agree. If you pinky promise that you're gonna look at it before 8.5's release I'll allow it.

Pinky promise - I have #18665 and a few other bits of cleanup in mind that shouldn't change any of the generated arginfo files, and then I'll address the improvements that will affect arginfo (like adding interned strings)

@DanielEScherzer
Copy link
Member Author

DanielEScherzer commented Jun 9, 2025

Code owner approvals:

  • curl - adoy
  • date - derickr
  • dom - nielsdos
  • enchant - No owner or current maintainer (approved by neilsdos)
  • filter - No owner or current maintainer
  • mysqli - bukka / kamil-tekiela (approved by bukka)
  • pgsql - devnexen
  • random - timwolla / zeriyoshi (approved by tim wolla)
  • reflection - me
  • soap - neilsdos
  • standard - bukka

*/
#[\Deprecated(since: '8.4', message: 'as enabling all functions is a possible security concern')]
Copy link
Member

@Girgias Girgias Jun 9, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know if this is truly useful but I guess one could add that it's possible to add them by flattening the array received from get_defined_functions().

This is already fixed differently in master.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants