facebook / facebook/pyrefly

ParamSpec subtyping is incorrect in user-defined generics

Open
#3,216 0 comments 0 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

Subclasses should be able to override properties with consistent ParamSpec, but this only works for `Callable` and fails for user-defined generics.

### Sandbox Link

https://pyrefly.org/sandbox/?project=N4IgZglgNgpgziAXKOBDAdgEwEYHsAeAdAA4CeS4ATrgLYAEALqcROgOZ0Q3G6UN0BBdKQA0dAMKooUVNlhiA4jHQxKEAMZiACqkqoaAZWIxNdACrMYANV0AddPa10AvHR17Dx9QApbILX4AlPYASgD66rgu5pY2lL4g4ZF%2BYpEAbroQGAzOZpQArjDBDiXqMnBwdABiuLjeSipq6gDaWmJJuAC6gYh0hP32g1gwYHRgtd5g%2BejqvZLSsrCt7RFdgXQAtAB81bXLdB2dvf2EQ-aYI3TYut74vWBQuKgM69tjj8-HAyXnl9cAXrd7h8GGJSMCnvxXAAGQjQ147B6Qr6nH4zcqVABCukQ9jo%2BLoAAFiNRjHxSHiCRdRlMZt44DAoGAepSCQTKDAGPlKOgrnYSmziaTVExWXRqWMJgymSzeWz2ZzubzxnVrpRikMyqgKnRsYDsercXL8ULcGTRcbxZdaT5pcyjfKFVyeXz-kNBSSzSKKZaJSr6Yz7WK2RzncqJgDiiARCB8gxoHASORECAAMR0ACq8agECYY2m6njuHQcCGft4NGeYXQ%2BRo2FUQM46Bemx2cAYlAdTqVYz8ADla-XO3RgPgAL5%2BezRkBkDkPUiEBi0KAUdNaUhzqCkOhoLB4fB0SLoSBsbnPCDF1HpgwwGB0AAWDAYxDgiAA9G-ZyMt4ReGw38ob6YLg6hwG%2BR4nmeRboG%2BkqUHQqAZNAix3hBECnno0F0Ga0GJvYZAMPexYbGkqhwBevKuH4ADMhAAIx0ZO6AgGOMaoIWECkVU0AwBQu44AQSYsUAA

### (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.