On Monday March 16 at 9:33 am Thomas Punt wrote: > Strictly speaking (pun intended), this is not true. A library can easily > expose a > facade that enforces a user of that library (who is in weak mode) to have to > write > in strict mode [1]. Once more, this can be done unintentionally [2] because > of the > caller-deciding semantics. These examples can be further extended into wrapper > classes, nested library dependencies, etc. > > Sure, you could argue that this could easily be turned off by simply removing > the > top declare() statement of that library, but modifying the library in itself > introduces > complications - especially when using dependency managers like Composer. > > [1] https://gist.github.com/tpunt/4830d18d47e2df021c2f > [2] https://gist.github.com/tpunt/eecfed2495bdccb73632
This is a bug in the library. It declares strict mode but passes a value it does not know to be an integer to a method requiring an integer. It can be fixed by simply adding an int type declaration to the constructor or test method. Thanks, Theodore -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php