ruff
98708976 - [ty] Fix subtyping/assignability of function- and class-literal types to callback protocols (#20363)

Commit
5 days ago
[ty] Fix subtyping/assignability of function- and class-literal types to callback protocols (#20363) ## Summary Fixes https://github.com/astral-sh/ty/issues/377. We were treating any function as being assignable to any callback protocol, because we were trying to figure out a type's `Callable` supertype by looking up the `__call__` attribute on the type's meta-type. But a function-literal's meta-type is `types.FunctionType`, and `types.FunctionType.__call__` is `(...) -> Any`, which is not very helpful! While working on this PR, I also realised that assignability between class-literals and callback protocols was somewhat broken too, so I fixed that at the same time. ## Test Plan Added mdtests
Author
Parents
Loading