Rename Red Knot (#17820)

This commit is contained in:
Micha Reiser 2025-05-03 19:49:15 +02:00 committed by GitHub
parent e6a798b962
commit b51c4f82ea
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
1564 changed files with 1598 additions and 1578 deletions

View file

@ -0,0 +1,35 @@
# Generic builtins
## Variadic keyword arguments with a custom `dict`
When we define `dict` in a custom typeshed, we must take care to define it as a generic class in the
same way as in the real typeshed.
```toml
[environment]
typeshed = "/typeshed"
```
`/typeshed/stdlib/builtins.pyi`:
```pyi
class object: ...
class int: ...
class dict[K, V, Extra]: ...
```
`/typeshed/stdlib/typing_extensions.pyi`:
```pyi
def reveal_type(obj, /): ...
```
If we don't, then we won't be able to infer the types of variadic keyword arguments correctly.
```py
def f(**kwargs):
reveal_type(kwargs) # revealed: Unknown
def g(**kwargs: int):
reveal_type(kwargs) # revealed: Unknown
```