On Tue, 11 Aug 2020 at 13:03, Michael Voříšek - ČVUT FEL < voris...@fel.cvut.cz> wrote:
> > Another reason is that sleep(0.1); is silently accepted now (even with > strict types enabled), > > > > That appears to not be true: https://3v4l.org/7YbqX > > corrected, should be "without strict types enabled" - > https://3v4l.org/A2olN > > "even with strict type enabled" statement in BC section remains valid > That's a normal type juggling behaviour of PHP to silently truncate float to integers. Maybe something that we should change by emitting a E_WARNING but that would need an RFC. Therefore I don't see why sleep should get special treatment. I also echo Dan's concerns and I find this change all in all negative. Now we need to deal with IEEE 754 floating point semantics and converting "manually" to an integer range to pass it to functions which might not be available on the platform and then still end up using sleep(0) on the C level. I'd rather see the failure condition changed to reject 0 or add a E_NOTICE/E_WARNING if 0 is passed as this has questionable semantics. Best regards George P. Banyard