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