mirror of
https://github.com/astral-sh/ruff.git
synced 2025-10-17 22:07:42 +00:00
![]() ## Summary We have the following test in `protocols.md`: ```py class HasX(Protocol): x: int # […] class Foo: x: int # […] class FooBool(Foo): x: bool static_assert(not is_subtype_of(FooBool, HasX)) static_assert(not is_assignable_to(FooBool, HasX)) ``` If `Foo` was indeed intended to be a base class of `FooBool`, then `x: bool` should be reported as a Liskov violation. And then it's a matter of definition whether or not these assertions should hold true or not (should the incorrect override take precedence or not?). So it looks to me like this is just an oversight, probably a copy-paste error from another test right before it, where `FooSub` is indeed intended to be a subclass of `Foo`. I am fixing this because this test started to fail on a branch of mine that changes how attribute lookup in inheritance chains works. |
||
---|---|---|
.. | ||
resources | ||
src | ||
tests | ||
build.rs | ||
Cargo.toml | ||
mdtest.py | ||
mdtest.py.lock |