Skip to content

Commit d8e9a38

Browse files
authored
Fill PyTypeInfo::TYPE_HINT for built-in types (#5619)
* Fill PyTypeInfo::TYPE_HINT for built-in types Makes internal macros always require a module and a name These values are then used to fill PyTypeInfo::MODULE and PyTypeInfo::TYPE_HINT (PyTypeInfo::NAME stays unchanged) This changes some values of PyTypeInfo::MODULE * Code review feedback * Add back original module * pyobject_type_info_type_hint * Rebase
1 parent 2a0fb63 commit d8e9a38

34 files changed

+303
-78
lines changed

newsfragments/5619.changed.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fill values of `PyTypeInfo::TYPE_HINT` on all implementations and change some `PyTypeInfo::MODULE` values.

pytests/stubs/pyclasses.pyi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from _typeshed import Incomplete
2-
from typing import Any, final
2+
from typing import final
33

44
class AssertingBaseClass:
5-
def __new__(cls, /, expected_type: Any) -> AssertingBaseClass: ...
5+
def __new__(cls, /, expected_type: type) -> AssertingBaseClass: ...
66

77
@final
88
class ClassWithDecorators:

pytests/stubs/pyfunctions.pyi

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,34 @@ from typing import Any
33
def args_kwargs(*args, **kwargs) -> Any: ...
44
def many_keyword_arguments(
55
*,
6-
ant: Any | None = None,
7-
bear: Any | None = None,
8-
cat: Any | None = None,
9-
dog: Any | None = None,
10-
elephant: Any | None = None,
11-
fox: Any | None = None,
12-
goat: Any | None = None,
13-
horse: Any | None = None,
14-
iguana: Any | None = None,
15-
jaguar: Any | None = None,
16-
koala: Any | None = None,
17-
lion: Any | None = None,
18-
monkey: Any | None = None,
19-
newt: Any | None = None,
20-
owl: Any | None = None,
21-
penguin: Any | None = None,
6+
ant: object | None = None,
7+
bear: object | None = None,
8+
cat: object | None = None,
9+
dog: object | None = None,
10+
elephant: object | None = None,
11+
fox: object | None = None,
12+
goat: object | None = None,
13+
horse: object | None = None,
14+
iguana: object | None = None,
15+
jaguar: object | None = None,
16+
koala: object | None = None,
17+
lion: object | None = None,
18+
monkey: object | None = None,
19+
newt: object | None = None,
20+
owl: object | None = None,
21+
penguin: object | None = None,
2222
) -> None: ...
2323
def none() -> None: ...
24-
def positional_only(a: Any, /, b: Any) -> Any: ...
25-
def simple(a: Any, b: Any | None = None, *, c: Any | None = None) -> Any: ...
26-
def simple_args(a: Any, b: Any | None = None, *args, c: Any | None = None) -> Any: ...
24+
def positional_only(a: object, /, b: object) -> Any: ...
25+
def simple(a: object, b: object | None = None, *, c: object | None = None) -> Any: ...
26+
def simple_args(
27+
a: object, b: object | None = None, *args, c: object | None = None
28+
) -> Any: ...
2729
def simple_args_kwargs(
28-
a: Any, b: Any | None = None, *args, c: Any | None = None, **kwargs
30+
a: object, b: object | None = None, *args, c: object | None = None, **kwargs
2931
) -> Any: ...
3032
def simple_kwargs(
31-
a: Any, b: Any | None = None, c: Any | None = None, **kwargs
33+
a: object, b: object | None = None, c: object | None = None, **kwargs
3234
) -> Any: ...
3335
def with_custom_type_annotations(
3436
a: int, *_args: str, _b: int | None = None, **_kwargs: bool

0 commit comments

Comments
 (0)