facebook / facebook/pyrefly

protocol assignability check fails for overloaded functions

Open
#3,970 0 comments 2 reactions 0 assignees View on GitHub
typechecking
Dominant language
Rust
Stars
7k
Forks
516
PR merge metrics
No merged PRs in 30d

Description

### Describe the Bug

When having an overloaded function assignability checks to protocols fail. When the same function is the `__call__` dunder of a class, it passes. This used to work correctly in `1.0.0`.

### Sandbox Link

https://pyrefly.org/sandbox/?project=N4IgZglgNgpgziAXKOBDAdgEwEYHsAeAdAA4CeS4ATrgLYAEALqcROgOZ0Q3G6UN0AFag1wBjXFAA0dACoBNAQFEA%2BgGEAEotUBpAJIA5AOLTcANxiUouVJgA66e-dFRUcOHQCCACiG4R4qABKRHs6MLoAATMLKxtQ8MwYMDplZVFUKChUrzgYKDBpACppUkROdAZAugBaAD5yhjLCZviwqPNLazt0cLpE5NT0zOzc-KLpfDLWSpr66aaWnoSklLSMrOUcvIK6YrpJhroAHzp9XHQYOgBeU-OYEqmK49uL65eYKrqGhcJHB3RnK53AAhEJLNrRTpxcF9FaDdYjbbjOilBqfOYVH6tSKQ2LdXr9VZDDZbMa7CaPGZfeZ0Zq-GGE%2BHDTajHZ7A7TZ5nV43bn3FGUrl3N589GHE5gWKNbG9SgwBgAV0oPQATH97O0Yl17ITRF52ZSxTS6RrcdqsCs9XtUdMjZjaYs-rqvBynic%2BSK7g9xe9PRc7dKYXLFcq6ABGdXoCDJeRKNSaHQGQxg7GMl1lYHBGXhVBlDxvfDZsK5zxvUT2ECSEBkOWS0iEEQ0KAUADEglItagpDoaCweHwdHE6EgbCVqAYEHO9LbAGUYJcABYMBjEOCIAD065rSS7hF4bHXMHQ68wYjg66HI7HE-O67oYF4dFQplQ0FQ2Fgg-OV8o48nPVwYgb3QOB6TIBgF3OaoOjgf83lsEAAGZCDDNUQHsABtCxqEoOAAF17AVKNuF4BgYEwapMAgOVRAncw3gAcggNh0F4GAGPsViGGqOUAEcFWo8jqgAaxgUhqlQURRHgdwbgYgB3VBlQ49AQAAXyrSS6JgAAxaAYAoXscAIEhyDUoA

### (Only applicable for extension issues) IDE Information

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.