mirror of
https://github.com/astral-sh/ruff
synced 2026-01-22 22:10:48 -05:00
## Summary This PR moves all the relation methods from `CallableType` to `Signature`. The main reason for this is that `Signature` is going to be the common denominator between normal and overloaded callables and the core logic to check a certain relationship is going to just require the information that would exists on `Signature`. For example, to check whether an overloaded callable is a subtype of a normal callable, we need to check whether _every_ overloaded signature is a subtype of the normal callable's signature. This "every" logic would become part of the `CallableType` and the core logic of checking the subtyping would exists on `Signature`.