[2.x] Improve PHP 8.4+ support by avoiding implicitly nullable types #165
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This changeset backports #157 and #164 from
3.x
to2.x
to improve PHP 8.4+ support by avoiding implicitly nullable types as discussed in reactphp/promise#260. The same idea applies, but v2 requires manual type checks to support legacy PHP versions as the nullable type syntax requires PHP 7.1+ otherwise.Note that the test suite may still report some harmless warnings for v2 on PHP 8.4 as it still uses the legacy clue/reactphp-block package. For v3 this has been replaced with reactphp/async with #149, but I would argue it's probably not worth the effort backporting all related changes just to fix an otherwise harmless warning in the v2 test suite. Instead, updating to v3 should be the way forward.
Builds on top of #157, #164, #151, #114, reactphp/promise#260, reactphp/socket#318, clue/redis-protocol#19, reactphp/promise-timer#70 and clue/framework-x#267