perf: return from `is_subtype` early by sterliakov · Pull Request #19400 · python/mypy
Fixes #19996. This was unearthed by #19400 where `is_subtype(Partial<X>, Partial<X>)` started returning True - before that `binder.assign_type(expr, Partial<None>, Partial<None>)` just returned early. If I understand correctly, that is how Partial should be handled here: we do not want to push partials to the binder. I do not think we should add a special case for that (both False and True make some sense for a partial type, I am not convinced that either one is marginally better), so I just add an explicit guard to skip adding partial types here.