From 3ee18e4c5dd5ae90c80231c76c47092ccf089c5b Mon Sep 17 00:00:00 2001 From: Stocker <44980366+StockerMC@users.noreply.github.com> Date: Mon, 25 Jul 2022 21:18:52 -0400 Subject: [PATCH] Use a TypeVar for flatten_user to workaround Pyright bug --- discord/member.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/discord/member.py b/discord/member.py index 367d8de7d..2263c4227 100644 --- a/discord/member.py +++ b/discord/member.py @@ -28,7 +28,7 @@ import datetime import inspect import itertools from operator import attrgetter -from typing import Any, Awaitable, Callable, Collection, Dict, List, Optional, TYPE_CHECKING, Tuple, Union, Type +from typing import Any, Awaitable, Callable, Collection, Dict, List, Optional, TYPE_CHECKING, Tuple, TypeVar, Union import discord.abc @@ -48,6 +48,8 @@ __all__ = ( 'Member', ) +T = TypeVar('T', bound=type) + if TYPE_CHECKING: from typing_extensions import Self @@ -205,7 +207,7 @@ class _ClientStatus: return self -def flatten_user(cls: Any) -> Type[Member]: +def flatten_user(cls: T) -> T: for attr, value in itertools.chain(BaseUser.__dict__.items(), User.__dict__.items()): # ignore private/special methods if attr.startswith('_'):