|
27 | 27 |
|
28 | 28 | import inspect |
29 | 29 | import os |
30 | | -import sys |
31 | 30 | from collections.abc import Sequence |
32 | 31 | from functools import partial |
33 | | -from typing import TYPE_CHECKING, Any, Callable, Generic, Literal, TypeVar, overload |
| 32 | +from typing import TYPE_CHECKING, Any, Callable, Generic, Literal, overload |
| 33 | + |
| 34 | +from typing_extensions import Self, TypeVar |
34 | 35 |
|
35 | 36 | from ..channel import _threaded_guild_channel_factory |
36 | 37 | from ..components import SelectDefaultValue, SelectMenu, SelectOption |
|
62 | 63 | ) |
63 | 64 |
|
64 | 65 | if TYPE_CHECKING: |
65 | | - from typing_extensions import Self |
66 | | - |
67 | 66 | from ..abc import GuildChannel, Snowflake |
68 | 67 | from ..types.components import SelectMenu as SelectMenuPayload |
69 | 68 | from ..types.interactions import ComponentInteractionData |
70 | 69 | from .view import View |
71 | 70 |
|
72 | | - ST = TypeVar("ST", bound=Snowflake | str, covariant=True, default=Any) |
73 | | -else: |
74 | | - if sys.version_info >= (3, 13): |
75 | | - ST = TypeVar("ST", bound="Snowflake | str", covariant=True, default=Any) |
76 | | - else: |
77 | | - ST = TypeVar("ST", bound="Snowflake | str", covariant=True) |
78 | | - |
| 71 | +ST = TypeVar("ST", bound="Snowflake | str", covariant=True, default=Any) |
79 | 72 | S = TypeVar("S", bound="Select") |
80 | 73 | V = TypeVar("V", bound="View", covariant=True) |
81 | 74 |
|
82 | 75 |
|
83 | | -class Select(Generic[V, ST], Item[V]): |
| 76 | +class Select(Item[V], Generic[V, ST]): |
84 | 77 | """Represents a UI select menu. |
85 | 78 |
|
86 | 79 | This is usually represented as a drop down menu. |
|
0 commit comments