ruff
3a819152 - [ty] Exclude members starting with `_abc_` from a protocol interface (#18467)

Commit
103 days ago
[ty] Exclude members starting with `_abc_` from a protocol interface (#18467) ## Summary As well as excluding a hardcoded set of special attributes, CPython at runtime also excludes any attributes or declarations starting with `_abc_` from the set of members that make up a protocol interface. I missed this in my initial implementation. This is a bit of a CPython implementation detail, but I do think it's important that we try to model the runtime as best we can here. The closer we are to the runtime behaviour, the closer we come to sound behaviour when narrowing types from `isinstance()` checks against runtime-checkable protocols (for example) ## Test Plan Extended an existing mdtest
Author
Parents
Loading