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
{{ message }}
Repository navigation
Stdlib: sprintf()/printf()/vsprintf() — enum case operands must Error not coerce (ext/standard/sprintf.c) #8777
Formatted-output builtins must reject enum case operands the same way Zend does. With %s, php-src throws Error (Object of class E could not be converted to string). VM silently coerces backed enum cases to backing strings and formats them.
Verified on current master — Zend PHP and php bin/vm.php both throw Error: Object of class ES could not be converted to string for sprintf/vsprintf/printf('%s', ES::X). Matches prior unclaim note (VmSprintf::argToString + sprintf_enum_case.phpt).
Activity
PurHur commentedon Jun 16, 2026
claim: PHP Compiler STD Lib — starting this run
PurHur commentedon Jun 16, 2026
Unclaiming: sprintf/printf/vsprintf enum %s operands already throw Error on master (VmSprintf::argToString + compliance test sprintf_enum_case.phpt green). VM repro matches Zend for ES::X %s. Recommend closing as duplicate unless repro differs.
PurHur commentedon Jul 18, 2026
Already fixed — closing (lane C audit 2026-07-18)
Verified on current
master— Zend PHP andphp bin/vm.phpboth throwError: Object of class ES could not be converted to stringforsprintf/vsprintf/printf('%s', ES::X). Matches prior unclaim note (VmSprintf::argToString +sprintf_enum_case.phpt).No PR needed.