mypy
c4470f1a - Make more type expressions valid in PEP 695 aliases and runtime contexts (#17404)

Commit
2 years ago
Make more type expressions valid in PEP 695 aliases and runtime contexts (#17404) Previously some type expressions, when used as the value of a PEP 695 type alias or in an expression context, generated errors, even if the code would work at runtime. Improve type inference of types in expression contexts (this includes PEP 695 type aliases) to better reflect runtime behavior. This is still not perfect, since we don't have precise types for everything in stubs. Use `typing._SpecialForm` as a fallback, as it supports indexing and `|` operations, which are supported for types. Also update stubs used in tests to better match typeshed stubs. In particular, provide `_SpecialForm` and define `Any = object()`, similar to typeshed.
Author
Parents
Loading