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
Regression: microtime(null) under declare(strict_types=1) — VM coerces, Zend TypeError (ext/standard/microtime.c) #17049
stdlib · null operand under user strict_types · php-src-strict
Problem
With declare(strict_types=1) in the compile unit, Zend rejects microtime(null) with TypeError. This compiler coerces null and returns a timestamp string via typed-string lowering that ignores strict_types for the builtin boundary.
ext/standard/microtime.php (or equivalent VM builtin) — honor Frame::calledInStrictTypes() / shared VmString::coerceTypedStringBuiltinArg() for nullable $as_float when operand is null
lib/JIT/Builtin/ microtime lowering — mirror strict_types branch in JIT/AOT
Merged in #17053. VM+JIT compliance green for strict_types null TypeError on password_hash/verify, microtime, date_create_from_format; non-strict coercion regressions (password_hash_null_password_coerce, microtime_null_coerce) still pass.
Activity
PurHur commentedon Jul 7, 2026
claim: PHP Compiler STD Lib Advanced — batch strict_types null operands (#17050, #17051, #17049, #17052)
PurHur commentedon Jul 7, 2026
Merged in #17053. VM+JIT compliance green for strict_types null TypeError on password_hash/verify, microtime, date_create_from_format; non-strict coercion regressions (password_hash_null_password_coerce, microtime_null_coerce) still pass.
chore: drop 24 more stale maintainer_gap repros (wave30 batch 2, #16660…