From 0645a9ef2f44b2e72dfbb9358b0742281ac015eb Mon Sep 17 00:00:00 2001 From: jakkdl Date: Thu, 1 May 2025 12:52:31 +0200 Subject: [PATCH 1/5] attempt to add typing to _create --- src/trio/_util.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/trio/_util.py b/src/trio/_util.py index 6656749111..ad34f65806 100644 --- a/src/trio/_util.py +++ b/src/trio/_util.py @@ -35,6 +35,7 @@ from exceptiongroup import BaseExceptionGroup ArgsT = ParamSpec("ArgsT") + P = ParamSpec("P") PosArgsT = TypeVarTuple("PosArgsT") @@ -324,8 +325,9 @@ def __call__(cls, *args: object, **kwargs: object) -> None: f"{cls.__module__}.{cls.__qualname__} has no public constructor", ) - def _create(cls: type[T], *args: object, **kwargs: object) -> T: - return super().__call__(*args, **kwargs) # type: ignore + def _create(cls: Callable[P, T], *args: P.args, **kwargs: P.kwargs) -> T: + # misc = unsupported argument 2 for "super" (??) + return super().__call__(*args, **kwargs) # type: ignore[misc,no-any-return] def name_asyncgen(agen: AsyncGeneratorType[object, NoReturn]) -> str: From b08cc9248706adedf3df27e8608dee101c4305c9 Mon Sep 17 00:00:00 2001 From: jakkdl Date: Thu, 1 May 2025 13:01:34 +0200 Subject: [PATCH 2/5] fix FakeSocket._create --- src/trio/testing/_fake_net.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/trio/testing/_fake_net.py b/src/trio/testing/_fake_net.py index 5d63112e17..729cd193f7 100644 --- a/src/trio/testing/_fake_net.py +++ b/src/trio/testing/_fake_net.py @@ -129,7 +129,7 @@ def reply(self, payload: bytes) -> UDPPacket: # pragma: no cover class FakeSocketFactory(trio.abc.SocketFactory): fake_net: FakeNet - def socket(self, family: int, type_: int, proto: int) -> FakeSocket: # type: ignore[override] + def socket(self, family: AddressFamily, type_: SocketKind, proto: int) -> FakeSocket: # type: ignore[override] return FakeSocket._create(self.fake_net, family, type_, proto) From 8c528feae408af0fa03d634c3bd9633b5d05b8ec Mon Sep 17 00:00:00 2001 From: CoolCat467 <52022020+CoolCat467@users.noreply.github.com> Date: Thu, 15 Jan 2026 01:43:01 -0600 Subject: [PATCH 3/5] Fix extra from bad merge --- src/trio/_util.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/trio/_util.py b/src/trio/_util.py index 6537a84f60..5dd5c5b2d6 100644 --- a/src/trio/_util.py +++ b/src/trio/_util.py @@ -32,7 +32,6 @@ if sys.version_info < (3, 11): from exceptiongroup import BaseExceptionGroup - ArgsT = ParamSpec("ArgsT") P = ParamSpec("P") PosArgsT = TypeVarTuple("PosArgsT") From 17481e4e25481edbdcc935428864cf284fc8ae50 Mon Sep 17 00:00:00 2001 From: CoolCat467 <52022020+CoolCat467@users.noreply.github.com> Date: Thu, 15 Jan 2026 01:44:42 -0600 Subject: [PATCH 4/5] Fix missing import --- src/trio/_util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/trio/_util.py b/src/trio/_util.py index 5dd5c5b2d6..5dfed5c832 100644 --- a/src/trio/_util.py +++ b/src/trio/_util.py @@ -27,7 +27,7 @@ import sys from types import AsyncGeneratorType, TracebackType - from typing_extensions import TypeVarTuple, Unpack + from typing_extensions import TypeVarTuple, Unpack, ParamSpec if sys.version_info < (3, 11): from exceptiongroup import BaseExceptionGroup From 6ef891efc3c50920809b8d84b2720dc9006c0dac Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 15 Jan 2026 07:45:02 +0000 Subject: [PATCH 5/5] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/trio/_util.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/trio/_util.py b/src/trio/_util.py index 5dfed5c832..f55f0aeca3 100644 --- a/src/trio/_util.py +++ b/src/trio/_util.py @@ -27,7 +27,7 @@ import sys from types import AsyncGeneratorType, TracebackType - from typing_extensions import TypeVarTuple, Unpack, ParamSpec + from typing_extensions import ParamSpec, TypeVarTuple, Unpack if sys.version_info < (3, 11): from exceptiongroup import BaseExceptionGroup