From: Jelle Zijlstra Date: Sun, 10 Dec 2023 15:30:02 +0000 (-0800) Subject: Argument Clinic: fix bare "type" in annotations (#112915) X-Git-Tag: v3.13.0a3~449 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1f9cd3c1e5410e45ade4362713229fa445ea6962;p=thirdparty%2FPython%2Fcpython.git Argument Clinic: fix bare "type" in annotations (#112915) Bare "type" in annotations should be equivalent to "type[Any]"; see https://discuss.python.org/t/inconsistencies-between-type-and-type/37404 and python/mypy#16366. It's better to use "type[object]", which is safer and unambiguous. --- diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py index 6c76f66a81ab..816ce0e6efed 100755 --- a/Tools/clinic/clinic.py +++ b/Tools/clinic/clinic.py @@ -3184,7 +3184,7 @@ def add_legacy_c_converter( class CConverterAutoRegister(type): def __init__( - cls, name: str, bases: tuple[type, ...], classdict: dict[str, Any] + cls, name: str, bases: tuple[type[object], ...], classdict: dict[str, Any] ) -> None: converter_cls = cast(type["CConverter"], cls) add_c_converter(converter_cls) @@ -3217,7 +3217,7 @@ class CConverter(metaclass=CConverterAutoRegister): # If not None, default must be isinstance() of this type. # (You can also specify a tuple of types.) - default_type: bltns.type[Any] | tuple[bltns.type[Any], ...] | None = None + default_type: bltns.type[object] | tuple[bltns.type[object], ...] | None = None # "default" converted into a C value, as a string. # Or None if there is no default. @@ -3683,7 +3683,7 @@ legacy_converters: ConverterDict = {} ReturnConverterDict = dict[str, ReturnConverterType] return_converters: ReturnConverterDict = {} -TypeSet = set[bltns.type[Any]] +TypeSet = set[bltns.type[object]] class bool_converter(CConverter): @@ -4347,7 +4347,7 @@ class buffer: pass class rwbuffer: pass class robuffer: pass -StrConverterKeyType = tuple[frozenset[type], bool, bool] +StrConverterKeyType = tuple[frozenset[type[object]], bool, bool] def str_converter_key( types: TypeSet, encoding: bool | str | None, zeroes: bool @@ -4846,7 +4846,7 @@ class CReturnConverterAutoRegister(type): def __init__( cls: ReturnConverterType, name: str, - bases: tuple[type, ...], + bases: tuple[type[object], ...], classdict: dict[str, Any] ) -> None: add_c_return_converter(cls)