From c250bb0da7848fb99f465f0d8fd8d85b7fe8612b Mon Sep 17 00:00:00 2001 From: ShockedPlot7560 Date: Sun, 22 Oct 2023 15:08:50 +0200 Subject: [PATCH] undo Promise covariant + improve array types --- src/promise/Promise.php | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/promise/Promise.php b/src/promise/Promise.php index aae08159f..2601a3cbf 100644 --- a/src/promise/Promise.php +++ b/src/promise/Promise.php @@ -27,7 +27,7 @@ use function count; use function spl_object_id; /** - * @phpstan-template-covariant TValue + * @phpstan-template TValue */ final class Promise{ /** @@ -61,20 +61,19 @@ final class Promise{ * `$promises` indexed by the respective Promises' array keys. * * @template TPromiseValue - * @phpstan-param Promise[] $promises + * @template TKey of array-key + * @phpstan-param array> $promises * - * @phpstan-return Promise> + * @phpstan-return Promise> */ public static function all(array $promises) : Promise { - /** @phpstan-var PromiseResolver> $resolver */ + /** @phpstan-var PromiseResolver> $resolver */ $resolver = new PromiseResolver(); $values = []; $toResolve = count($promises); $continue = true; foreach($promises as $key => $promise){ - $values[$key] = null; - $promise->onCompletion( function(mixed $value) use ($resolver, $key, &$toResolve, &$continue, &$values) : void{ $values[$key] = $value;