Skip to content

Regression: get_debug_type/count/sizeof/is_* Reflection names empty or var — Zend value; named args rejected (Zend/zend_builtin_functions.stub.php) #23263

Description

@PurHur

Category

bug · php-src-strict · named arguments / Reflection

Problem

Type/introspection builtins reject Zend stub named $value. Reflection is empty (get_debug_type, sizeof, several is_*) or uses InternalArgInfo var (count, is_string, is_array, …). Probed 2026-07-26 vs host Zend 8.2.32.

Repro Zend 8.2 VM (2026-07-26)
get_debug_type Reflection value (empty)
count / sizeof Reflection value,mode var,mode / (empty)
is_string / is_array Reflection value var
get_debug_type(value: 1) "int" Unknown named parameter $value
count(value: [1]) 1 Unknown named parameter $value
is_string(value: "a") true Unknown named parameter $value

Same $value gap for is_bool, is_int, is_float, is_null, is_object, is_resource, and empty Reflection for is_countable / is_iterable / is_integer / is_long / is_double.

php-src reference

PHP implementation target

  • lib/BuiltinParamNames.phpget_debug_type['value']; count/sizeof['value','mode']; is_*['value'] (and is_finite/is_infinite/is_nan['num'])
  • Reflection + named-arg dispatch; PHP-in-PHP only; no new C

Repro

./script/docker-exec.sh -- bash -lc 'php bin/vm.php -r '\''try { echo get_debug_type(value:1), "\n"; } catch (Throwable $e) { echo $e->getMessage(), "\n"; } try { echo count(value:[1]), "\n"; } catch (Throwable $e) { echo $e->getMessage(), "\n"; }'\'''

Done when

  • Reflection names match Zend stubs for listed builtins
  • Zend-style named calls match Zend on VM
  • Compliance .phpt + test/repro/issue_NNNN_*.php
  • php-src-strict; no php-compiler-strict shortcut

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:vmVirtual machinebugSomething isn't workingimplementation-readySpec complete: repro, php-src ref, done-when — safe for workers to claimphase-4:stdlibPhase 4 – stdlib for web appsstdlib

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions