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.
This commit is contained in:
Jelle Zijlstra 2023-12-10 07:30:02 -08:00 committed by GitHub
parent 9d02d3451a
commit 1f9cd3c1e5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3184,7 +3184,7 @@ def closure(f: CConverterClassT) -> CConverterClassT:
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 @@ def add_include(self, name: str, reason: str,
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)