mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-30 07:07:42 +00:00
![]() ## 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 |
||
---|---|---|
.. | ||
resources | ||
src | ||
tests | ||
build.rs | ||
Cargo.toml | ||
mdtest.py | ||
mdtest.py.lock |