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
gettype() on enum case objects must return "object" per Zend. Closed #5496 fixed VM/JIT for enum cases, but backed enum cases now report "integer" because case materialization returns backing scalars (#8746 regression class).
Distinct from #5797 (is_int() / is_object() predicates) and #5509 (get_debug_type()).
Category
stdlib— regressionProblem
gettype()on enum case objects must return"object"per Zend. Closed #5496 fixed VM/JIT for enum cases, but backed enum cases now report"integer"because case materialization returns backing scalars (#8746 regression class).Distinct from #5797 (
is_int()/is_object()predicates) and #5509 (get_debug_type()).php-src reference
ext/standard/basic_functions.c—PHP_FUNCTION(gettype)Zend/zend_enum.c— enum zval typeIS_OBJECTRepro
test/repro/maintainer_gettype_enum.php:Scope
ext/standard/gettype.php(or VM builtin) — enum cases are objects forgettype()gettypelowering must match VMDone when
objectunder VM (+ JIT/AOT if lowered)./script/ci-fast.sh --filter gettype_enumor compliance PHPT greenLinks