Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3.x] Improve PHP 8.4+ support by avoiding implicitly nullable types #223

Merged
merged 1 commit into from
Jun 5, 2024

Conversation

WyriHaximus
Copy link
Member

@WyriHaximus WyriHaximus commented May 22, 2024

This changeset improves PHP 8.4+ support by avoiding implicitly nullable types as discussed in reactphp/promise#260.

I'm planning to add native types to the public API and introduce PHPStan in follow-up PRs.

Once merged, we should apply similar changes to all our upcoming v3 components. On top of this, we should backport similar changes to the v1 branch.

Builds on top of #182, #222, reactphp/promise#260, reactphp/async#87 and reactphp/promise-timer#70

@WyriHaximus WyriHaximus added this to the v3.0.0 milestone May 22, 2024
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request May 22, 2024
This changeset backports reactphp#223 from `3.x` to `1.x` to improve PHP 8.4+ support by avoiding implicitly nullable types as discussed in reactphp/promise#260. The same idea applies, but v1 requires manual type checks to support legacy PHP versions as the nullable type syntax requires PHP 7.1+ otherwise.

Builds on top of reactphp#223, reactphp#204 and reactphp#218
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request May 22, 2024
This changeset backports reactphp#223 from `3.x` to `1.x` to improve PHP 8.4+ support by avoiding implicitly nullable types as discussed in reactphp/promise#260. The same idea applies, but v1 requires manual type checks to support legacy PHP versions as the nullable type syntax requires PHP 7.1+ otherwise.

Builds on top of reactphp#223, reactphp#204 and reactphp#218
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request May 27, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request May 27, 2024
This changeset backports reactphp#223 from `3.x` to `1.x` to improve PHP 8.4+ support by avoiding implicitly nullable types as discussed in reactphp/promise#260. The same idea applies, but v1 requires manual type checks to support legacy PHP versions as the nullable type syntax requires PHP 7.1+ otherwise.

Builds on top of reactphp#223, reactphp#204 and reactphp#218
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request May 27, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
src/Query/TimeoutExecutor.php Outdated Show resolved Hide resolved
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request May 31, 2024
This changeset backports reactphp#223 from `3.x` to `1.x` to improve PHP 8.4+ support by avoiding implicitly nullable types as discussed in reactphp/promise#260. The same idea applies, but v1 requires manual type checks to support legacy PHP versions as the nullable type syntax requires PHP 7.1+ otherwise.

Builds on top of reactphp#223, reactphp#204 and reactphp#218
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request Jun 5, 2024
This changeset backports reactphp#223 from `3.x` to `1.x` to improve PHP 8.4+ support by avoiding implicitly nullable types as discussed in reactphp/promise#260. The same idea applies, but v1 requires manual type checks to support legacy PHP versions as the nullable type syntax requires PHP 7.1+ otherwise.

Builds on top of reactphp#223, reactphp#204 and reactphp#218
@WyriHaximus WyriHaximus requested a review from clue June 5, 2024 05:33
src/Query/TimeoutExecutor.php Outdated Show resolved Hide resolved
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request Jun 5, 2024
This changeset backports reactphp#223 from `3.x` to `1.x` to improve PHP 8.4+ support by avoiding implicitly nullable types as discussed in reactphp/promise#260. The same idea applies, but v1 requires manual type checks to support legacy PHP versions as the nullable type syntax requires PHP 7.1+ otherwise.

Builds on top of reactphp#223, reactphp#204 and reactphp#218
This changeset improves PHP 8.4+ support by avoiding implicitly nullable types as discussed in reactphp/promise#260.

I'm planning to add native types to the public API and introduce PHPStan in follow-up PRs.

Once merged, we should apply similar changes to all our upcoming v3 components. On top of this, we should backport similar changes to the v1 branch.

Builds on top of reactphp#182, reactphp#222 and reactphp/promise#260
Copy link
Member

@clue clue left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@WyriHaximus Thanks for the update, changes LGTM! :shipit:

Copy link
Member

@SimonFrings SimonFrings left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, ship it 👍

@SimonFrings SimonFrings merged commit 30c5e43 into reactphp:3.x Jun 5, 2024
9 checks passed
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request Jun 5, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request Jun 13, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request Jun 13, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request Jun 13, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request Jun 13, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request Jun 14, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
WyriHaximus added a commit to WyriHaximus-labs/dns that referenced this pull request Jun 14, 2024
This changeset adds native types to the public API as discussed in reactphp#219.

Once merged, I'm planning to add PHPStan in a follow-up PR which would take advantage of these types.

Builds on top of reactphp#222, reactphp#223 and reactphp/cache#60
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants