Skip to content

Commit 6494f0b

Browse files
committed
Make _HasRect generic in sprite functions
1 parent 7f87867 commit 6494f0b

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

buildconfig/stubs/pygame/sprite.pyi

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ from pygame.typing import Point, RectLike
2828

2929
from typing_extensions import deprecated # added in 3.13
3030

31+
# generic for _HasRect, used in sprite collide functions
32+
_THasRect = TypeVar("_THasRect", bound=_HasRect)
33+
3134
# non-generic Group, used in Sprite
3235
_Group = AbstractGroup[_SpriteSupportsGroup]
3336

@@ -291,10 +294,10 @@ def collide_mask(
291294
left: _SupportsCollideMask, right: _SupportsCollideMask
292295
) -> Optional[tuple[int, int]]: ...
293296
def spritecollide(
294-
sprite: _HasRect,
297+
sprite: _THasRect,
295298
group: AbstractGroup[_TSprite],
296299
dokill: bool,
297-
collided: Optional[Callable[[_TSprite, _TSprite2], Any]] = None,
300+
collided: Optional[Callable[[_THasRect, _TSprite], Any]] = None,
298301
) -> list[_TSprite]: ...
299302
def groupcollide(
300303
groupa: AbstractGroup[_TSprite],
@@ -304,7 +307,7 @@ def groupcollide(
304307
collided: Optional[Callable[[_TSprite, _TSprite2], Any]] = None,
305308
) -> dict[_TSprite, list[_TSprite2]]: ...
306309
def spritecollideany(
307-
sprite: _HasRect,
310+
sprite: _THasRect,
308311
group: AbstractGroup[_TSprite],
309-
collided: Optional[Callable[[_TSprite, _TSprite2], Any]] = None,
312+
collided: Optional[Callable[[_THasRect, _TSprite], Any]] = None,
310313
) -> Optional[_TSprite]: ...

0 commit comments

Comments
 (0)