From 166870359786ed32d0078d5cc636a6345cc41c47 Mon Sep 17 00:00:00 2001 From: Nikita Sobolev Date: Mon, 7 Feb 2022 22:16:47 +0300 Subject: [PATCH 1/5] `queue.Queue.queue` is a `MutableMapping` It is `deque` in `Queue` and `list` in `LifoQueue` and `PriorityQueue` --- stdlib/queue.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stdlib/queue.pyi b/stdlib/queue.pyi index 9671155b7eb6..ba7e2829d0a1 100644 --- a/stdlib/queue.pyi +++ b/stdlib/queue.pyi @@ -1,6 +1,6 @@ import sys from threading import Condition, Lock -from typing import Any, Generic, TypeVar +from typing import Any, Generic, TypeVar, MutableSequence if sys.version_info >= (3, 9): from types import GenericAlias @@ -18,7 +18,7 @@ class Queue(Generic[_T]): not_full: Condition # undocumented all_tasks_done: Condition # undocumented unfinished_tasks: int # undocumented - queue: Any # undocumented + queue: MutableSequence[_T] # undocumented def __init__(self, maxsize: int = ...) -> None: ... def _init(self, maxsize: int) -> None: ... def empty(self) -> bool: ... From 9825d10893c34a26fb13fc4df95827b81e4de578 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 7 Feb 2022 19:19:41 +0000 Subject: [PATCH 2/5] [pre-commit.ci] auto fixes from pre-commit.com hooks --- stdlib/queue.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/queue.pyi b/stdlib/queue.pyi index ba7e2829d0a1..3ec919ea4805 100644 --- a/stdlib/queue.pyi +++ b/stdlib/queue.pyi @@ -1,6 +1,6 @@ import sys from threading import Condition, Lock -from typing import Any, Generic, TypeVar, MutableSequence +from typing import Any, Generic, MutableSequence, TypeVar if sys.version_info >= (3, 9): from types import GenericAlias From 7c1440a0e720b20086568d105db5190afe30cbdc Mon Sep 17 00:00:00 2001 From: Nikita Sobolev Date: Mon, 7 Feb 2022 23:05:45 +0300 Subject: [PATCH 3/5] Update queue.pyi --- stdlib/queue.pyi | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/stdlib/queue.pyi b/stdlib/queue.pyi index 3ec919ea4805..19e07f8ae7af 100644 --- a/stdlib/queue.pyi +++ b/stdlib/queue.pyi @@ -1,6 +1,6 @@ import sys from threading import Condition, Lock -from typing import Any, Generic, MutableSequence, TypeVar +from typing import Any, Generic, TypeVar, List if sys.version_info >= (3, 9): from types import GenericAlias @@ -18,7 +18,9 @@ class Queue(Generic[_T]): not_full: Condition # undocumented all_tasks_done: Condition # undocumented unfinished_tasks: int # undocumented - queue: MutableSequence[_T] # undocumented + # Despite the fact that `queue` has `deque` type, + # we treat it as `Any` to allow different implementations in subtypes. + queue: Any # undocumented def __init__(self, maxsize: int = ...) -> None: ... def _init(self, maxsize: int) -> None: ... def empty(self) -> bool: ... @@ -36,8 +38,10 @@ class Queue(Generic[_T]): if sys.version_info >= (3, 9): def __class_getitem__(cls, item: Any) -> GenericAlias: ... -class PriorityQueue(Queue[_T]): ... -class LifoQueue(Queue[_T]): ... +class PriorityQueue(Queue[_T]): + queue: List[_T] +class LifoQueue(Queue[_T]): + queue: List[_T] if sys.version_info >= (3, 7): class SimpleQueue(Generic[_T]): From df5298ea7145effe0cb0cc2b741f28e16e726814 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 7 Feb 2022 20:06:58 +0000 Subject: [PATCH 4/5] [pre-commit.ci] auto fixes from pre-commit.com hooks --- stdlib/queue.pyi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/stdlib/queue.pyi b/stdlib/queue.pyi index 19e07f8ae7af..b0d9d8fbb42c 100644 --- a/stdlib/queue.pyi +++ b/stdlib/queue.pyi @@ -1,6 +1,6 @@ import sys from threading import Condition, Lock -from typing import Any, Generic, TypeVar, List +from typing import Any, Generic, List, TypeVar if sys.version_info >= (3, 9): from types import GenericAlias @@ -40,6 +40,7 @@ class Queue(Generic[_T]): class PriorityQueue(Queue[_T]): queue: List[_T] + class LifoQueue(Queue[_T]): queue: List[_T] From 5daac2dabd856c553e783d2c739252a534a7a8c4 Mon Sep 17 00:00:00 2001 From: Nikita Sobolev Date: Mon, 7 Feb 2022 23:18:39 +0300 Subject: [PATCH 5/5] Update queue.pyi --- stdlib/queue.pyi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/stdlib/queue.pyi b/stdlib/queue.pyi index b0d9d8fbb42c..ae5b9ede1ae6 100644 --- a/stdlib/queue.pyi +++ b/stdlib/queue.pyi @@ -1,6 +1,6 @@ import sys from threading import Condition, Lock -from typing import Any, Generic, List, TypeVar +from typing import Any, Generic, TypeVar if sys.version_info >= (3, 9): from types import GenericAlias @@ -39,10 +39,10 @@ class Queue(Generic[_T]): def __class_getitem__(cls, item: Any) -> GenericAlias: ... class PriorityQueue(Queue[_T]): - queue: List[_T] + queue: list[_T] class LifoQueue(Queue[_T]): - queue: List[_T] + queue: list[_T] if sys.version_info >= (3, 7): class SimpleQueue(Generic[_T]):