diff --git a/stdlib/@tests/stubtest_allowlists/py314.txt b/stdlib/@tests/stubtest_allowlists/py314.txt index 67a725257bbe..f37d5d9c7676 100644 --- a/stdlib/@tests/stubtest_allowlists/py314.txt +++ b/stdlib/@tests/stubtest_allowlists/py314.txt @@ -106,9 +106,6 @@ dataclasses.make_dataclass decimal.Decimal.from_number decimal.IEEE_CONTEXT_MAX_BITS dis.Instruction.make -enum.Enum.__signature__ -enum.EnumMeta.__signature__ -enum.EnumType.__signature__ faulthandler.dump_c_stack fnmatch.__all__ fnmatch.filterfalse diff --git a/stdlib/enum.pyi b/stdlib/enum.pyi index 26f198867113..327b135459a0 100644 --- a/stdlib/enum.pyi +++ b/stdlib/enum.pyi @@ -53,6 +53,7 @@ _EnumerationT = TypeVar("_EnumerationT", bound=type[Enum]) # >>> Enum('Foo', names={'RED': 1, 'YELLOW': 2}) # _EnumNames: TypeAlias = str | Iterable[str] | Iterable[Iterable[str | Any]] | Mapping[str, Any] +_Signature: TypeAlias = Any # TODO: Unable to import Signature from inspect module if sys.version_info >= (3, 11): class nonmember(Generic[_EnumMemberT]): @@ -166,6 +167,9 @@ class EnumMeta(type): if sys.version_info >= (3, 12): @overload def __call__(cls: type[_EnumMemberT], value: Any, *values: Any) -> _EnumMemberT: ... + if sys.version_info >= (3, 14): + @property + def __signature__(cls) -> _Signature: ... _member_names_: list[str] # undocumented _member_map_: dict[str, Enum] # undocumented @@ -212,7 +216,7 @@ class Enum(metaclass=EnumMeta): if sys.version_info >= (3, 11): def __copy__(self) -> Self: ... def __deepcopy__(self, memo: Any) -> Self: ... - if sys.version_info >= (3, 12): + if sys.version_info >= (3, 12) and sys.version_info < (3, 14): @classmethod def __signature__(cls) -> str: ...