Disabling arginfo argument type checks for internal functions

  105851
June 6, 2019 12:41 nikita.ppv@gmail.com (Nikita Popov)
Hi internals,

I plan to disable the checking of arginfo argument types for internal
functions in https://github.com/php/php-src/pull/4232 (PHP 8 only). This is
necessary to avoid duplicate type checks in both arginfo and zpp. Once this
lands, PRs to add arginfo types (available through reflection) to internal
functions will be accepted.

As a sanity check, debug builds will make sure that the function call
either throws or passes arginfo type checks -- this will help avoid the
additional of arginfo types that are not correct enforced by the
implementation.

Regards,
Nikita
  105861
June 7, 2019 14:44 pollita@php.net (Sara Golemon)
On Thu, Jun 6, 2019 at 7:42 AM Nikita Popov ppv@gmail.com> wrote:

> I plan to disable the checking of arginfo argument types for internal > functions in https://github.com/php/php-src/pull/4232 (PHP 8 only). This > is > necessary to avoid duplicate type checks in both arginfo and zpp. Once this > lands, PRs to add arginfo types (available through reflection) to internal > functions will be accepted. > > Yay! We can finally get decent reflection for internal function signatures!
-Sara
  105957
June 17, 2019 12:54 nikita.ppv@gmail.com (Nikita Popov)
On Thu, Jun 6, 2019 at 2:41 PM Nikita Popov ppv@gmail.com> wrote:

> Hi internals, > > I plan to disable the checking of arginfo argument types for internal > functions in https://github.com/php/php-src/pull/4232 (PHP 8 only). This > is necessary to avoid duplicate type checks in both arginfo and zpp. Once > this lands, PRs to add arginfo types (available through reflection) to > internal functions will be accepted. > > As a sanity check, debug builds will make sure that the function call > either throws or passes arginfo type checks -- this will help avoid the > additional of arginfo types that are not correct enforced by the > implementation. >
These changes have now landed. This means that arginfo types (both argument and return) can now be added to internal functions. See https://github.com/php/php-src/commit/227a9c75ec01800cb2b02d58ab74ec72abccf478 for a small sample. PRs are welcome :) Nikita