Skip to content

Commit 57cafa9

Browse files
committed
[PHP 8.4] Fixes for implicit nullability deprecation
Fixes all issues that emits a deprecation notice on PHP 8.4. See: - [RFC](https://wiki.php.net/rfc/deprecate-implicitly-nullable-types) - [PHP 8.4: Implicitly nullable parameter declarations deprecated](https://php.watch/versions/8.4/implicitly-marking-parameter-type-nullable-deprecated)
1 parent e563d55 commit 57cafa9

17 files changed

+20
-20
lines changed

src/Deferred.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ final class Deferred
2121
/**
2222
* @param (callable(callable(T):void,callable(\Throwable):void):void)|null $canceller
2323
*/
24-
public function __construct(callable $canceller = null)
24+
public function __construct(?callable $canceller = null)
2525
{
2626
$this->promise = new Promise(function ($resolve, $reject): void {
2727
$this->resolveCallback = $resolve;

src/Internal/FulfilledPromise.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public function __construct($value = null)
3434
* @param ?(callable((T is void ? null : T)): (PromiseInterface<TFulfilled>|TFulfilled)) $onFulfilled
3535
* @return PromiseInterface<($onFulfilled is null ? T : TFulfilled)>
3636
*/
37-
public function then(callable $onFulfilled = null, callable $onRejected = null): PromiseInterface
37+
public function then(?callable $onFulfilled = null, ?callable $onRejected = null): PromiseInterface
3838
{
3939
if (null === $onFulfilled) {
4040
return $this;

src/Internal/RejectedPromise.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public function __destruct()
6161
* @param ?(callable(\Throwable): (PromiseInterface<TRejected>|TRejected)) $onRejected
6262
* @return PromiseInterface<($onRejected is null ? never : TRejected)>
6363
*/
64-
public function then(callable $onFulfilled = null, callable $onRejected = null): PromiseInterface
64+
public function then(?callable $onFulfilled = null, ?callable $onRejected = null): PromiseInterface
6565
{
6666
if (null === $onRejected) {
6767
return $this;

src/Promise.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ final class Promise implements PromiseInterface
2929
* @param callable(callable(T):void,callable(\Throwable):void):void $resolver
3030
* @param (callable(callable(T):void,callable(\Throwable):void):void)|null $canceller
3131
*/
32-
public function __construct(callable $resolver, callable $canceller = null)
32+
public function __construct(callable $resolver, ?callable $canceller = null)
3333
{
3434
$this->canceller = $canceller;
3535

@@ -41,7 +41,7 @@ public function __construct(callable $resolver, callable $canceller = null)
4141
$this->call($cb);
4242
}
4343

44-
public function then(callable $onFulfilled = null, callable $onRejected = null): PromiseInterface
44+
public function then(?callable $onFulfilled = null, ?callable $onRejected = null): PromiseInterface
4545
{
4646
if (null !== $this->result) {
4747
return $this->result->then($onFulfilled, $onRejected);
@@ -166,7 +166,7 @@ public function always(callable $onFulfilledOrRejected): PromiseInterface
166166
return $this->finally($onFulfilledOrRejected);
167167
}
168168

169-
private function resolver(callable $onFulfilled = null, callable $onRejected = null): callable
169+
private function resolver(?callable $onFulfilled = null, ?callable $onRejected = null): callable
170170
{
171171
return function (callable $resolve, callable $reject) use ($onFulfilled, $onRejected): void {
172172
$this->handlers[] = static function (PromiseInterface $promise) use ($onFulfilled, $onRejected, $resolve, $reject): void {

tests/DeferredTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class DeferredTest extends TestCase
1414
/**
1515
* @return CallbackPromiseAdapter<T>
1616
*/
17-
public function getPromiseTestAdapter(callable $canceller = null): CallbackPromiseAdapter
17+
public function getPromiseTestAdapter(?callable $canceller = null): CallbackPromiseAdapter
1818
{
1919
$d = new Deferred($canceller);
2020

tests/Internal/FulfilledPromiseTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class FulfilledPromiseTest extends TestCase
2020
/**
2121
* @return CallbackPromiseAdapter<T>
2222
*/
23-
public function getPromiseTestAdapter(callable $canceller = null): CallbackPromiseAdapter
23+
public function getPromiseTestAdapter(?callable $canceller = null): CallbackPromiseAdapter
2424
{
2525
/** @var ?FulfilledPromise<T> */
2626
$promise = null;

tests/Internal/RejectedPromiseTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class RejectedPromiseTest extends TestCase
1717
/**
1818
* @return CallbackPromiseAdapter<never>
1919
*/
20-
public function getPromiseTestAdapter(callable $canceller = null): CallbackPromiseAdapter
20+
public function getPromiseTestAdapter(?callable $canceller = null): CallbackPromiseAdapter
2121
{
2222
/** @var ?RejectedPromise */
2323
$promise = null;

tests/PromiseTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class PromiseTest extends TestCase
1515
/**
1616
* @return CallbackPromiseAdapter<T>
1717
*/
18-
public function getPromiseTestAdapter(callable $canceller = null): CallbackPromiseAdapter
18+
public function getPromiseTestAdapter(?callable $canceller = null): CallbackPromiseAdapter
1919
{
2020
$resolveCallback = $rejectCallback = null;
2121

tests/PromiseTest/CancelTestTrait.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
trait CancelTestTrait
1010
{
11-
abstract public function getPromiseTestAdapter(callable $canceller = null): PromiseAdapterInterface;
11+
abstract public function getPromiseTestAdapter(?callable $canceller = null): PromiseAdapterInterface;
1212

1313
/** @test */
1414
public function cancelShouldCallCancellerWithResolverArguments(): void

tests/PromiseTest/PromiseFulfilledTestTrait.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
trait PromiseFulfilledTestTrait
1313
{
14-
abstract public function getPromiseTestAdapter(callable $canceller = null): PromiseAdapterInterface;
14+
abstract public function getPromiseTestAdapter(?callable $canceller = null): PromiseAdapterInterface;
1515

1616
/** @test */
1717
public function fulfilledPromiseShouldBeImmutable(): void

tests/PromiseTest/PromisePendingTestTrait.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
trait PromisePendingTestTrait
99
{
10-
abstract public function getPromiseTestAdapter(callable $canceller = null): PromiseAdapterInterface;
10+
abstract public function getPromiseTestAdapter(?callable $canceller = null): PromiseAdapterInterface;
1111

1212
/** @test */
1313
public function thenShouldReturnAPromiseForPendingPromise(): void

tests/PromiseTest/PromiseRejectedTestTrait.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
trait PromiseRejectedTestTrait
1313
{
14-
abstract public function getPromiseTestAdapter(callable $canceller = null): PromiseAdapterInterface;
14+
abstract public function getPromiseTestAdapter(?callable $canceller = null): PromiseAdapterInterface;
1515

1616
/** @test */
1717
public function rejectedPromiseShouldBeImmutable(): void

tests/PromiseTest/PromiseSettledTestTrait.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
trait PromiseSettledTestTrait
1010
{
11-
abstract public function getPromiseTestAdapter(callable $canceller = null): PromiseAdapterInterface;
11+
abstract public function getPromiseTestAdapter(?callable $canceller = null): PromiseAdapterInterface;
1212

1313
/** @test */
1414
public function thenShouldReturnAPromiseForSettledPromise(): void

tests/PromiseTest/RejectTestTrait.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
trait RejectTestTrait
1414
{
15-
abstract public function getPromiseTestAdapter(callable $canceller = null): PromiseAdapterInterface;
15+
abstract public function getPromiseTestAdapter(?callable $canceller = null): PromiseAdapterInterface;
1616

1717
/** @test */
1818
public function rejectShouldRejectWithAnException(): void

tests/PromiseTest/ResolveTestTrait.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
trait ResolveTestTrait
1515
{
16-
abstract public function getPromiseTestAdapter(callable $canceller = null): PromiseAdapterInterface;
16+
abstract public function getPromiseTestAdapter(?callable $canceller = null): PromiseAdapterInterface;
1717

1818
/** @test */
1919
public function resolveShouldResolve(): void

tests/fixtures/SimpleFulfilledTestThenable.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
class SimpleFulfilledTestThenable
66
{
7-
public function then(callable $onFulfilled = null, callable $onRejected = null): self
7+
public function then(?callable $onFulfilled = null, ?callable $onRejected = null): self
88
{
99
if ($onFulfilled) {
1010
$onFulfilled('foo');

tests/fixtures/SimpleTestCancellableThenable.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ class SimpleTestCancellableThenable
1010
/** @var ?callable */
1111
public $onCancel;
1212

13-
public function __construct(callable $onCancel = null)
13+
public function __construct(?callable $onCancel = null)
1414
{
1515
$this->onCancel = $onCancel;
1616
}
1717

18-
public function then(callable $onFulfilled = null, callable $onRejected = null): self
18+
public function then(?callable $onFulfilled = null, ?callable $onRejected = null): self
1919
{
2020
return new self();
2121
}

0 commit comments

Comments
 (0)