Alex Waygood
Alex Waygood
### Summary Because of [this TODO](https://github.com/astral-sh/ruff/blob/83a3bc4ee94de552d5cec9a3146aff00dade6903/crates/ty_python_semantic/src/types/signatures.rs#L1448-L1453), we currently believe that the top materialization of `Callable[..., Any]` is `Callable[[], object]`. But that's not correct, and it means that we infer bad...
We have a basic implementation of the Liskov Substitution Principle in place for method overrides. But we do not currently emit diagnostics for methods invalidly overridden by non-methods. We need...
Currently for this file: ```py from typing import overload class A: @overload def f(self) -> int: ... @overload def f(self, x: str) -> str: ... @overload def f(self, x: str,...
### Summary Originally reported by @mflova in https://github.com/astral-sh/ty/issues/2127#issuecomment-3678156698. We should be able to use the type context of the parameter annotation to avoid emitting a diagnostic on either of these:...
```py from abc import abstractmethod class Base: @abstractmethod def f(self): ... class BadChild(Base): ... class GoodChild(Base): def f(self): ... # concrete override Base() # ❌ has abstract methods BadChild() #...
We have implemented a basic version of the Liskov Substitution Principle to cover cases where methods are incompatibly overridden in subclasses. We also need to implement separate diagnostics to cover...
### Summary For this class: ```py class Foo: @property def bar(self) -> str: return "baz" @bar.setter def bar(self, value: str) -> None: pass @bar.deleter def bar(self) -> None: pass ```...
E.g. our [very own docstrings](https://github.com/astral-sh/ruff/blob/b4c2825afdd8c1010c3a5859521629d2d1e0a6df/crates/ty_vendored/ty_extensions/ty_extensions.pyi#L115-L120) in `ty_extensions.pyi` currently use [standard ReST syntax for hyperlinks](https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#hyperlinks), but these aren't rendered in their intended way at all currently when you hover over one...
### Summary For example, the stdlib method `logging.Filterer.filter` has several ReST directives at the bottom of its docstring that tell you when the API was updated: https://github.com/astral-sh/ruff/blob/b4c2825afdd8c1010c3a5859521629d2d1e0a6df/crates/ty_vendored/vendor/typeshed/stdlib/logging/__init__.pyi#L136-L142. Pylance renders these...
We made this rule disabled by default in https://github.com/astral-sh/ruff/pull/17955, on the following grounds: > Right now it seems like there are too many situations where: > > 1. There is...