diff --git a/composer.json b/composer.json index 33eb2a1..cca3d03 100644 --- a/composer.json +++ b/composer.json @@ -28,7 +28,7 @@ "php": ">=7.1.0" }, "require-dev": { - "phpstan/phpstan": "1.10.20 || 1.4.10", + "phpstan/phpstan": "1.10.34 || 1.4.10", "phpunit/phpunit": "^9.5 || ^7.5" }, "autoload": { diff --git a/tests/types/reject.php b/tests/types/reject.php index cc443de..fd8802e 100644 --- a/tests/types/reject.php +++ b/tests/types/reject.php @@ -5,9 +5,9 @@ use function React\Promise\reject; use function React\Promise\resolve; -assertType('React\Promise\PromiseInterface<*NEVER*>', reject(new RuntimeException())); -assertType('React\Promise\PromiseInterface<*NEVER*>', reject(new RuntimeException())->then(null, null)); -// assertType('React\Promise\PromiseInterface<*NEVER*>', reject(new RuntimeException())->then(function (): int { +assertType('React\Promise\PromiseInterface', reject(new RuntimeException())); +assertType('React\Promise\PromiseInterface', reject(new RuntimeException())->then(null, null)); +// assertType('React\Promise\PromiseInterface', reject(new RuntimeException())->then(function (): int { // return 42; // })); assertType('React\Promise\PromiseInterface', reject(new RuntimeException())->then(null, function (): int { @@ -32,11 +32,11 @@ return resolve(42); })); -assertType('React\Promise\PromiseInterface<*NEVER*>', reject(new RuntimeException())->finally(function (): void { })); -assertType('React\Promise\PromiseInterface<*NEVER*>', reject(new RuntimeException())->finally(function (): never { +assertType('React\Promise\PromiseInterface', reject(new RuntimeException())->finally(function (): void { })); +assertType('React\Promise\PromiseInterface', reject(new RuntimeException())->finally(function (): never { throw new \UnexpectedValueException(); })); -assertType('React\Promise\PromiseInterface<*NEVER*>', reject(new RuntimeException())->finally(function (): PromiseInterface { +assertType('React\Promise\PromiseInterface', reject(new RuntimeException())->finally(function (): PromiseInterface { return reject(new \UnexpectedValueException()); })); @@ -50,10 +50,10 @@ return resolve(42); })); -assertType('React\Promise\PromiseInterface<*NEVER*>', reject(new RuntimeException())->always(function (): void { })); -assertType('React\Promise\PromiseInterface<*NEVER*>', reject(new RuntimeException())->always(function (): never { +assertType('React\Promise\PromiseInterface', reject(new RuntimeException())->always(function (): void { })); +assertType('React\Promise\PromiseInterface', reject(new RuntimeException())->always(function (): never { throw new \UnexpectedValueException(); })); -assertType('React\Promise\PromiseInterface<*NEVER*>', reject(new RuntimeException())->always(function (): PromiseInterface { +assertType('React\Promise\PromiseInterface', reject(new RuntimeException())->always(function (): PromiseInterface { return reject(new \UnexpectedValueException()); })); diff --git a/tests/types/resolve.php b/tests/types/resolve.php index e50272f..7206a23 100644 --- a/tests/types/resolve.php +++ b/tests/types/resolve.php @@ -34,7 +34,7 @@ function stringOrIntPromise(): PromiseInterface { assertType('React\Promise\PromiseInterface', resolve(true)->then(function (bool $value): PromiseInterface { return resolve(42); })); -assertType('React\Promise\PromiseInterface<*NEVER*>', resolve(true)->then(function (bool $value): never { +assertType('React\Promise\PromiseInterface', resolve(true)->then(function (bool $value): never { throw new \RuntimeException(); })); assertType('React\Promise\PromiseInterface', resolve(true)->then(null, function (\Throwable $e): int { @@ -61,10 +61,10 @@ function stringOrIntPromise(): PromiseInterface { })); assertType('React\Promise\PromiseInterface', resolve(true)->finally(function (): void { })); -// assertType('React\Promise\PromiseInterface<*NEVER*>', resolve(true)->finally(function (): never { +// assertType('React\Promise\PromiseInterface', resolve(true)->finally(function (): never { // throw new \RuntimeException(); // })); -// assertType('React\Promise\PromiseInterface<*NEVER*>', resolve(true)->finally(function (): PromiseInterface { +// assertType('React\Promise\PromiseInterface', resolve(true)->finally(function (): PromiseInterface { // return reject(new \RuntimeException()); // })); @@ -79,9 +79,9 @@ function stringOrIntPromise(): PromiseInterface { })); assertType('React\Promise\PromiseInterface', resolve(true)->always(function (): void { })); -// assertType('React\Promise\PromiseInterface<*NEVER*>', resolve(true)->always(function (): never { +// assertType('React\Promise\PromiseInterface', resolve(true)->always(function (): never { // throw new \RuntimeException(); // })); -// assertType('React\Promise\PromiseInterface<*NEVER*>', resolve(true)->always(function (): PromiseInterface { +// assertType('React\Promise\PromiseInterface', resolve(true)->always(function (): PromiseInterface { // return reject(new \RuntimeException()); // }));