mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-04 02:38:25 +00:00
Add a note to diagnostics why the rule is enabled (#17854)
This commit is contained in:
parent
9085f18353
commit
b2de749c32
86 changed files with 184 additions and 3 deletions
|
@ -35,5 +35,6 @@ error: lint:invalid-assignment: Invalid assignment to data descriptor attribute
|
|||
11 | instance.attr = 1 # error: [invalid-assignment]
|
||||
| ^^^^^^^^^^^^^
|
||||
|
|
||||
info: `lint:invalid-assignment` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -36,5 +36,6 @@ error: lint:invalid-assignment: Invalid assignment to data descriptor attribute
|
|||
12 | instance.attr = "wrong" # error: [invalid-assignment]
|
||||
| ^^^^^^^^^^^^^
|
||||
|
|
||||
info: `lint:invalid-assignment` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -36,6 +36,7 @@ error: lint:invalid-assignment: Object of type `Literal["wrong"]` is not assigna
|
|||
7 |
|
||||
8 | C.attr = 1 # fine
|
||||
|
|
||||
info: `lint:invalid-assignment` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -47,5 +48,6 @@ error: lint:invalid-assignment: Object of type `Literal["wrong"]` is not assigna
|
|||
9 | C.attr = "wrong" # error: [invalid-assignment]
|
||||
| ^^^^^^
|
||||
|
|
||||
info: `lint:invalid-assignment` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -36,6 +36,7 @@ warning: lint:possibly-unbound-attribute: Attribute `attr` on type `Literal[C]`
|
|||
7 |
|
||||
8 | instance = C()
|
||||
|
|
||||
info: `lint:possibly-unbound-attribute` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -47,5 +48,6 @@ warning: lint:possibly-unbound-attribute: Attribute `attr` on type `C` is possib
|
|||
9 | instance.attr = 1 # error: [possibly-unbound-attribute]
|
||||
| ^^^^^^^^^^^^^
|
||||
|
|
||||
info: `lint:possibly-unbound-attribute` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -36,6 +36,7 @@ error: lint:invalid-assignment: Object of type `Literal["wrong"]` is not assigna
|
|||
8 |
|
||||
9 | C.attr = 1 # error: [invalid-attribute-access]
|
||||
|
|
||||
info: `lint:invalid-assignment` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -48,5 +49,6 @@ error: lint:invalid-attribute-access: Cannot assign to instance attribute `attr`
|
|||
9 | C.attr = 1 # error: [invalid-attribute-access]
|
||||
| ^^^^^^
|
||||
|
|
||||
info: `lint:invalid-attribute-access` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -46,5 +46,6 @@ error: lint:invalid-assignment: Object of type `Literal[1]` is not assignable to
|
|||
12 |
|
||||
13 | class C2:
|
||||
|
|
||||
info: `lint:invalid-assignment` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -33,6 +33,7 @@ error: lint:unresolved-attribute: Unresolved attribute `non_existent` on type `L
|
|||
4 |
|
||||
5 | instance = C()
|
||||
|
|
||||
info: `lint:unresolved-attribute` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -44,5 +45,6 @@ error: lint:unresolved-attribute: Unresolved attribute `non_existent` on type `C
|
|||
6 | instance.non_existent = 1 # error: [unresolved-attribute]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
info: `lint:unresolved-attribute` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -36,6 +36,7 @@ error: lint:invalid-assignment: Object of type `Literal["wrong"]` is not assigna
|
|||
8 |
|
||||
9 | instance = C()
|
||||
|
|
||||
info: `lint:invalid-assignment` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -47,5 +48,6 @@ error: lint:invalid-attribute-access: Cannot assign to ClassVar `attr` from an i
|
|||
10 | instance.attr = 1 # error: [invalid-attribute-access]
|
||||
| ^^^^^^^^^^^^^
|
||||
|
|
||||
info: `lint:invalid-attribute-access` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -26,5 +26,6 @@ error: lint:unresolved-import: Cannot resolve imported module `does_not_exist`
|
|||
2 | from does_not_exist import foo, bar, baz
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
|
||||
info: `lint:unresolved-import` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -24,5 +24,6 @@ error: lint:unresolved-import: Cannot resolve imported module `zqzqzqzqzqzqzq`
|
|||
1 | import zqzqzqzqzqzqzq # error: [unresolved-import] "Cannot resolve imported module `zqzqzqzqzqzqzq`"
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
|
||||
info: `lint:unresolved-import` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -36,6 +36,7 @@ error: lint:unresolved-import: Cannot resolve imported module `a.foo`
|
|||
3 |
|
||||
4 | # Topmost component unresolvable:
|
||||
|
|
||||
info: `lint:unresolved-import` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -47,5 +48,6 @@ error: lint:unresolved-import: Cannot resolve imported module `b.foo`
|
|||
5 | import b.foo # error: [unresolved-import] "Cannot resolve imported module `b.foo`"
|
||||
| ^^^^^
|
||||
|
|
||||
info: `lint:unresolved-import` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -38,6 +38,7 @@ error: lint:not-iterable: Object of type `Iterable` is not iterable
|
|||
|
|
||||
info: It has no `__iter__` method and its `__getitem__` method has an incorrect signature for the old-style iteration protocol
|
||||
info: `__getitem__` must be at least as permissive as `def __getitem__(self, key: int): ...` to satisfy the old-style iteration protocol
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -29,5 +29,6 @@ error: lint:not-iterable: Object of type `Literal[123]` is not iterable
|
|||
3 | pass
|
||||
|
|
||||
info: It doesn't have an `__iter__` method or a `__getitem__` method
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -34,5 +34,6 @@ error: lint:not-iterable: Object of type `NotIterable` is not iterable
|
|||
7 | pass
|
||||
|
|
||||
info: Its `__iter__` attribute has type `None`, which is not callable
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -34,6 +34,7 @@ error: lint:not-iterable: Object of type `Bad` is not iterable
|
|||
8 | reveal_type(x) # revealed: Unknown
|
||||
|
|
||||
info: It has no `__iter__` method and its `__getitem__` attribute has type `None`, which is not callable
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -57,6 +57,7 @@ error: lint:not-iterable: Object of type `Iterable1` may not be iterable
|
|||
|
|
||||
info: It has no `__iter__` method and its `__getitem__` attribute is invalid
|
||||
info: `__getitem__` has type `CustomCallable`, which is not callable
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -86,6 +87,7 @@ error: lint:not-iterable: Object of type `Iterable2` may not be iterable
|
|||
|
|
||||
info: It has no `__iter__` method and its `__getitem__` attribute is invalid
|
||||
info: `__getitem__` has type `(bound method Iterable2.__getitem__(key: int) -> int) | None`, which is not callable
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -54,6 +54,7 @@ error: lint:not-iterable: Object of type `Iterable1` may not be iterable
|
|||
|
|
||||
info: It has no `__iter__` method and its `__getitem__` attribute is invalid
|
||||
info: `__getitem__` has type `(bound method Iterable1.__getitem__(item: int) -> str) | None`, which is not callable
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -82,6 +83,7 @@ error: lint:not-iterable: Object of type `Iterable2` may not be iterable
|
|||
|
|
||||
info: It has no `__iter__` method and its `__getitem__` method (with type `(bound method Iterable2.__getitem__(item: int) -> str) | (bound method Iterable2.__getitem__(item: str) -> int)`) may have an incorrect signature for the old-style iteration protocol
|
||||
info: `__getitem__` must be at least as permissive as `def __getitem__(self, key: int): ...` to satisfy the old-style iteration protocol
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -58,6 +58,7 @@ error: lint:not-iterable: Object of type `Iterable1` may not be iterable
|
|||
info: Its `__iter__` method may have an invalid signature
|
||||
info: Type of `__iter__` is `(bound method Iterable1.__iter__() -> Iterator) | (bound method Iterable1.__iter__(invalid_extra_arg) -> Iterator)`
|
||||
info: Expected signature for `__iter__` is `def __iter__(self): ...`
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -86,6 +87,7 @@ error: lint:not-iterable: Object of type `Iterable2` may not be iterable
|
|||
30 | reveal_type(x) # revealed: int | Unknown
|
||||
|
|
||||
info: Its `__iter__` attribute (with type `(bound method Iterable2.__iter__() -> Iterator) | None`) may not be callable
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -61,6 +61,7 @@ error: lint:not-iterable: Object of type `Iterable1` may not be iterable
|
|||
|
|
||||
info: Its `__iter__` method returns an object of type `Iterator1`, which may have an invalid `__next__` method
|
||||
info: Expected signature for `__next__` is `def __next__(self): ...`)
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -89,6 +90,7 @@ error: lint:not-iterable: Object of type `Iterable2` may not be iterable
|
|||
34 | reveal_type(y) # revealed: int | Unknown
|
||||
|
|
||||
info: Its `__iter__` method returns an object of type `Iterator2`, which has a `__next__` attribute that may not be callable
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -46,6 +46,7 @@ error: lint:not-iterable: Object of type `Iterable` may not be iterable
|
|||
|
|
||||
info: It may not have an `__iter__` method and its `__getitem__` method has an incorrect signature for the old-style iteration protocol
|
||||
info: `__getitem__` must be at least as permissive as `def __getitem__(self, key: int): ...` to satisfy the old-style iteration protocol
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -64,6 +64,7 @@ error: lint:not-iterable: Object of type `Iterable1` may not be iterable
|
|||
33 | reveal_type(x) # revealed: bytes | str | Unknown
|
||||
|
|
||||
info: It may not have an `__iter__` method and its `__getitem__` attribute (with type `(bound method Iterable1.__getitem__(item: int) -> str) | None`) may not be callable
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -92,6 +93,7 @@ error: lint:not-iterable: Object of type `Iterable2` may not be iterable
|
|||
|
|
||||
info: It may not have an `__iter__` method and its `__getitem__` method (with type `(bound method Iterable2.__getitem__(item: int) -> str) | (bound method Iterable2.__getitem__(item: str) -> int)`) may have an incorrect signature for the old-style iteration protocol
|
||||
info: `__getitem__` must be at least as permissive as `def __getitem__(self, key: int): ...` to satisfy the old-style iteration protocol
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -44,6 +44,7 @@ error: lint:not-iterable: Object of type `Iterable` may not be iterable
|
|||
18 | reveal_type(x) # revealed: int | bytes
|
||||
|
|
||||
info: It may not have an `__iter__` method or a `__getitem__` method
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -46,6 +46,7 @@ error: lint:not-iterable: Object of type `Test | Test2` may not be iterable
|
|||
19 | reveal_type(x) # revealed: int
|
||||
|
|
||||
info: Its `__iter__` method returns an object of type `TestIter | int`, which may not have a `__next__` method
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -41,6 +41,7 @@ error: lint:not-iterable: Object of type `Test | Literal[42]` may not be iterabl
|
|||
14 | reveal_type(x) # revealed: int
|
||||
|
|
||||
info: It may not have an `__iter__` method and it doesn't have a `__getitem__` method
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -42,6 +42,7 @@ error: lint:not-iterable: Object of type `NotIterable` is not iterable
|
|||
12 | pass
|
||||
|
|
||||
info: Its `__iter__` attribute has type `int | None`, which is not callable
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -54,6 +55,7 @@ warning: lint:possibly-unresolved-reference: Name `x` used when possibly not def
|
|||
16 | reveal_type(x)
|
||||
| ^
|
||||
|
|
||||
info: `lint:possibly-unresolved-reference` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -35,6 +35,7 @@ error: lint:not-iterable: Object of type `Bad` is not iterable
|
|||
9 | reveal_type(x) # revealed: Unknown
|
||||
|
|
||||
info: Its `__iter__` method returns an object of type `int`, which has no `__next__` method
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -40,6 +40,7 @@ error: lint:not-iterable: Object of type `Iterable` is not iterable
|
|||
|
|
||||
info: Its `__iter__` method has an invalid signature
|
||||
info: Expected signature `def __iter__(self): ...`
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -51,6 +51,7 @@ error: lint:not-iterable: Object of type `Iterable1` is not iterable
|
|||
|
|
||||
info: Its `__iter__` method returns an object of type `Iterator1`, which has an invalid `__next__` method
|
||||
info: Expected signature for `__next__` is `def __next__(self): ...`
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -78,6 +79,7 @@ error: lint:not-iterable: Object of type `Iterable2` is not iterable
|
|||
24 | reveal_type(y) # revealed: Unknown
|
||||
|
|
||||
info: Its `__iter__` method returns an object of type `Iterator2`, which has a `__next__` attribute that is not callable
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -74,6 +74,7 @@ info: Type variable defined here
|
|||
5 |
|
||||
6 | def f(x: T) -> T:
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -89,6 +89,7 @@ info: Type variable defined here
|
|||
5 |
|
||||
6 | def f(x: T) -> T:
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -70,6 +70,7 @@ info: Type variable defined here
|
|||
| ^^^^^^
|
||||
4 | return x
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -85,6 +85,7 @@ info: Type variable defined here
|
|||
| ^^^^^^^^^^^^^^
|
||||
4 | return x
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -32,5 +32,6 @@ error: lint:unsupported-bool-conversion: Boolean conversion is unsupported for t
|
|||
| ^
|
||||
|
|
||||
info: `__bool__` on `NotBoolable` must be callable
|
||||
info: `lint:unsupported-bool-conversion` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -36,5 +36,6 @@ info: Function defined here
|
|||
| ^^^ ------ Parameter declared here
|
||||
2 | return x * x
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -38,5 +38,6 @@ info: Function defined here
|
|||
| ^^^^^^ ------ Parameter declared here
|
||||
3 | return x * x
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -42,5 +42,6 @@ info: Function defined here
|
|||
| ^^^ ------ Parameter declared here
|
||||
2 | return x * x
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -40,5 +40,6 @@ info: Function defined here
|
|||
| ^^^ ------ Parameter declared here
|
||||
5 | return x * x
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -36,5 +36,6 @@ info: Function defined here
|
|||
| ^^^ ------ Parameter declared here
|
||||
2 | return x * y * z
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -44,5 +44,6 @@ info: Function defined here
|
|||
4 | z: int,
|
||||
5 | ) -> int:
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -39,6 +39,7 @@ info: Function defined here
|
|||
| ^^^ ------ Parameter declared here
|
||||
2 | return x * y * z
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -58,6 +59,7 @@ info: Function defined here
|
|||
| ^^^ ------ Parameter declared here
|
||||
2 | return x * y * z
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -77,5 +79,6 @@ info: Function defined here
|
|||
| ^^^ ------ Parameter declared here
|
||||
2 | return x * y * z
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -40,5 +40,6 @@ info: Function defined here
|
|||
41 | *,
|
||||
42 | cls: type[JSONDecoder] | None = None,
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -36,5 +36,6 @@ info: Function defined here
|
|||
| ^^^ ---------- Parameter declared here
|
||||
2 | return x * y * z
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -36,5 +36,6 @@ info: Function defined here
|
|||
| ^^^ ---------- Parameter declared here
|
||||
2 | return x * y * z
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -36,5 +36,6 @@ info: Function defined here
|
|||
| ^^^ ---------- Parameter declared here
|
||||
2 | return x * y * z
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -36,5 +36,6 @@ info: Function defined here
|
|||
| ^^^ ------ Parameter declared here
|
||||
2 | return x * y * z
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -38,5 +38,6 @@ info: Function defined here
|
|||
| ^^^^^^^^ ------ Parameter declared here
|
||||
3 | return 1
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -36,5 +36,6 @@ info: Function defined here
|
|||
| ^^^ ------------- Parameter declared here
|
||||
2 | return len(numbers)
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -36,5 +36,6 @@ info: Function defined here
|
|||
| ^^^ -------------- Parameter declared here
|
||||
2 | return len(numbers)
|
||||
|
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -38,6 +38,7 @@ error: lint:unsupported-bool-conversion: Boolean conversion is unsupported for t
|
|||
11 | 10 not in WithContains()
|
||||
|
|
||||
info: `__bool__` on `NotBoolable` must be callable
|
||||
info: `lint:unsupported-bool-conversion` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -51,5 +52,6 @@ error: lint:unsupported-bool-conversion: Boolean conversion is unsupported for t
|
|||
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
info: `__bool__` on `NotBoolable` must be callable
|
||||
info: `lint:unsupported-bool-conversion` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -24,5 +24,6 @@ error: lint:no-matching-overload: No overload of class `type` matches arguments
|
|||
1 | type("Foo", ()) # error: [no-matching-overload]
|
||||
| ^^^^^^^^^^^^^^^
|
||||
|
|
||||
info: `lint:no-matching-overload` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -30,5 +30,6 @@ error: lint:unsupported-bool-conversion: Boolean conversion is unsupported for t
|
|||
| ^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
info: `__bool__` on `NotBoolable` must be callable
|
||||
info: `lint:unsupported-bool-conversion` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -47,6 +47,7 @@ error: lint:invalid-overload: Overloaded function `func` requires at least two o
|
|||
| ^^^^
|
||||
8 | return x
|
||||
|
|
||||
info: `lint:invalid-overload` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -61,5 +62,6 @@ error: lint:invalid-overload: Overloaded function `func` requires at least two o
|
|||
| |
|
||||
| Only one overload defined here
|
||||
|
|
||||
info: `lint:invalid-overload` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -84,6 +84,7 @@ error: lint:invalid-overload: Overloaded function `try_from3` does not use the `
|
|||
41 | if isinstance(x, int):
|
||||
42 | return cls(x)
|
||||
|
|
||||
info: `lint:invalid-overload` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -102,6 +103,7 @@ error: lint:invalid-overload: Overloaded function `try_from1` does not use the `
|
|||
17 | if isinstance(x, int):
|
||||
18 | return cls(x)
|
||||
|
|
||||
info: `lint:invalid-overload` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -124,5 +126,6 @@ error: lint:invalid-overload: Overloaded function `try_from2` does not use the `
|
|||
23 | @overload
|
||||
24 | @classmethod
|
||||
|
|
||||
info: `lint:invalid-overload` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -76,6 +76,7 @@ error: lint:invalid-overload: `@final` decorator should be applied only to the o
|
|||
| Implementation defined here
|
||||
28 | return x
|
||||
|
|
||||
info: `lint:invalid-overload` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -91,6 +92,7 @@ error: lint:invalid-overload: `@final` decorator should be applied only to the o
|
|||
| Implementation defined here
|
||||
19 | return x
|
||||
|
|
||||
info: `lint:invalid-overload` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -107,5 +109,6 @@ error: lint:invalid-overload: `@final` decorator should be applied only to the f
|
|||
15 | def method2(self, x: str) -> str: ...
|
||||
| ^^^^^^^
|
||||
|
|
||||
info: `lint:invalid-overload` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -93,6 +93,7 @@ error: lint:invalid-overload: `@override` decorator should be applied only to th
|
|||
| Implementation defined here
|
||||
28 | return x
|
||||
|
|
||||
info: `lint:invalid-overload` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -108,6 +109,7 @@ error: lint:invalid-overload: `@override` decorator should be applied only to th
|
|||
| Implementation defined here
|
||||
38 | return x
|
||||
|
|
||||
info: `lint:invalid-overload` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -125,5 +127,6 @@ error: lint:invalid-overload: `@override` decorator should be applied only to th
|
|||
22 | def method(self, x: str) -> str: ...
|
||||
| ^^^^^^
|
||||
|
|
||||
info: `lint:invalid-overload` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -41,6 +41,7 @@ error: lint:invalid-overload: Overloaded non-stub function `func` must have an i
|
|||
8 |
|
||||
9 | class Foo:
|
||||
|
|
||||
info: `lint:invalid-overload` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -53,5 +54,6 @@ error: lint:invalid-overload: Overloaded non-stub function `method` must have an
|
|||
14 | def method(self, x: str) -> str: ...
|
||||
| ^^^^^^
|
||||
|
|
||||
info: `lint:invalid-overload` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -51,6 +51,7 @@ error: lint:call-non-callable: Object of type `typing.Protocol` is not callable
|
|||
5 |
|
||||
6 | class MyProtocol(Protocol):
|
||||
|
|
||||
info: `lint:call-non-callable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -86,6 +87,7 @@ info: Protocol classes cannot be instantiated
|
|||
| ^^^^^^^^^^^^^^^^^^^^ `MyProtocol` declared as a protocol here
|
||||
7 | x: int
|
||||
|
|
||||
info: `lint:call-non-callable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -120,6 +122,7 @@ info: Protocol classes cannot be instantiated
|
|||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `GenericProtocol` declared as a protocol here
|
||||
13 | x: T
|
||||
|
|
||||
info: `lint:call-non-callable` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -52,6 +52,7 @@ info: `NotAProtocol` is declared here, but it is not a protocol class:
|
|||
|
|
||||
info: A class is only a protocol class if it directly inherits from `typing.Protocol` or `typing_extensions.Protocol`
|
||||
info: See https://typing.python.org/en/latest/spec/protocol.html#
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -78,5 +79,6 @@ info: `AlsoNotAProtocol` is declared here, but it is not a protocol class:
|
|||
|
|
||||
info: A class is only a protocol class if it directly inherits from `typing.Protocol` or `typing_extensions.Protocol`
|
||||
info: See https://typing.python.org/en/latest/spec/protocol.html#
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -77,6 +77,7 @@ info: `HasX` is declared as a protocol class, but it is not declared as runtime-
|
|||
|
|
||||
info: A protocol class can only be used in `isinstance` checks if it is decorated with `@typing.runtime_checkable` or `@typing_extensions.runtime_checkable`
|
||||
info: See https://docs.python.org/3/library/typing.html#typing.runtime_checkable
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -130,6 +131,7 @@ info: `HasX` is declared as a protocol class, but it is not declared as runtime-
|
|||
|
|
||||
info: A protocol class can only be used in `issubclass` checks if it is decorated with `@typing.runtime_checkable` or `@typing_extensions.runtime_checkable`
|
||||
info: See https://docs.python.org/3/library/typing.html#typing.runtime_checkable
|
||||
info: `lint:invalid-argument-type` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -63,6 +63,7 @@ error: lint:invalid-return-type: Return type does not match returned value
|
|||
|
|
||||
info: Function is inferred as returning `types.GeneratorType` because it is a generator function
|
||||
info: See https://docs.python.org/3/glossary.html#term-generator for more details
|
||||
info: `lint:invalid-return-type` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -78,5 +79,6 @@ error: lint:invalid-return-type: Return type does not match returned value
|
|||
|
|
||||
info: Function is inferred as returning `types.AsyncGeneratorType` because it is an async generator function
|
||||
info: See https://docs.python.org/3/glossary.html#term-asynchronous-generator for more details
|
||||
info: `lint:invalid-return-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -45,6 +45,7 @@ error: lint:invalid-return-type: Return type does not match returned value
|
|||
7 |
|
||||
8 | def f(cond: bool) -> str:
|
||||
|
|
||||
info: `lint:invalid-return-type` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -63,6 +64,7 @@ error: lint:invalid-return-type: Return type does not match returned value
|
|||
12 | else:
|
||||
13 | # error: [invalid-return-type]
|
||||
|
|
||||
info: `lint:invalid-return-type` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -84,5 +86,6 @@ error: lint:invalid-return-type: Return type does not match returned value
|
|||
9 | if cond:
|
||||
10 | # error: [invalid-return-type]
|
||||
|
|
||||
info: `lint:invalid-return-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -52,6 +52,7 @@ error: lint:invalid-return-type: Return type does not match returned value
|
|||
5 |
|
||||
6 | # error: [invalid-return-type]
|
||||
|
|
||||
info: `lint:invalid-return-type` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -65,6 +66,7 @@ error: lint:invalid-return-type: Function can implicitly return `None`, which is
|
|||
8 | if cond:
|
||||
9 | return 1
|
||||
|
|
||||
info: `lint:invalid-return-type` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -78,6 +80,7 @@ error: lint:invalid-return-type: Function can implicitly return `None`, which is
|
|||
13 | if cond:
|
||||
14 | raise ValueError()
|
||||
|
|
||||
info: `lint:invalid-return-type` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -91,5 +94,6 @@ error: lint:invalid-return-type: Function can implicitly return `None`, which is
|
|||
18 | if cond:
|
||||
19 | cond = False
|
||||
|
|
||||
info: `lint:invalid-return-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -43,6 +43,7 @@ error: lint:invalid-return-type: Function can implicitly return `None`, which is
|
|||
| ^^^
|
||||
3 | 1
|
||||
|
|
||||
info: `lint:invalid-return-type` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -60,6 +61,7 @@ error: lint:invalid-return-type: Return type does not match returned value
|
|||
8 |
|
||||
9 | def f() -> int:
|
||||
|
|
||||
info: `lint:invalid-return-type` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -77,6 +79,7 @@ error: lint:invalid-return-type: Return type does not match returned value
|
|||
12 |
|
||||
13 | from typing import TypeVar
|
||||
|
|
||||
info: `lint:invalid-return-type` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -88,5 +91,6 @@ error: lint:invalid-return-type: Function can implicitly return `None`, which is
|
|||
18 | def m(x: T) -> T: ...
|
||||
| ^
|
||||
|
|
||||
info: `lint:invalid-return-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -41,6 +41,7 @@ error: lint:invalid-return-type: Return type does not match returned value
|
|||
4 |
|
||||
5 | # error: [invalid-return-type]
|
||||
|
|
||||
info: `lint:invalid-return-type` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -54,6 +55,7 @@ error: lint:invalid-return-type: Function can implicitly return `None`, which is
|
|||
7 | print("...")
|
||||
8 | ...
|
||||
|
|
||||
info: `lint:invalid-return-type` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -67,5 +69,6 @@ error: lint:invalid-return-type: Function can implicitly return `None`, which is
|
|||
12 | f"""{foo} is a function that ..."""
|
||||
13 | ...
|
||||
|
|
||||
info: `lint:invalid-return-type` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -43,6 +43,7 @@ error: lint:unsupported-bool-conversion: Boolean conversion is unsupported for t
|
|||
14 | 10 < Comparable() < Comparable()
|
||||
|
|
||||
info: `__bool__` on `NotBoolable` must be callable
|
||||
info: `lint:unsupported-bool-conversion` is enabled by default
|
||||
|
||||
```
|
||||
|
||||
|
@ -58,5 +59,6 @@ error: lint:unsupported-bool-conversion: Boolean conversion is unsupported for t
|
|||
16 | Comparable() < Comparable() # fine
|
||||
|
|
||||
info: `__bool__` on `NotBoolable` must be callable
|
||||
info: `lint:unsupported-bool-conversion` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -29,5 +29,6 @@ error: lint:invalid-assignment: Implicit shadowing of class `C`
|
|||
| ^
|
||||
|
|
||||
info: Annotate to make it explicit if this is intentional
|
||||
info: `lint:invalid-assignment` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -29,5 +29,6 @@ error: lint:invalid-assignment: Implicit shadowing of function `f`
|
|||
| ^
|
||||
|
|
||||
info: Annotate to make it explicit if this is intentional
|
||||
info: `lint:invalid-assignment` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -44,5 +44,6 @@ error: lint:unsupported-bool-conversion: Boolean conversion is unsupported for t
|
|||
17 | a < b # fine
|
||||
|
|
||||
info: `__bool__` on `NotBoolable | Literal[False]` must be callable
|
||||
info: `lint:unsupported-bool-conversion` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -34,5 +34,6 @@ error: lint:unsupported-bool-conversion: Boolean conversion is unsupported for t
|
|||
| ^^^^^^^^^^^^^^^^
|
||||
|
|
||||
info: `__bool__` on `NotBoolable` must be callable
|
||||
info: `lint:unsupported-bool-conversion` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -26,5 +26,6 @@ error: lint:invalid-assignment: Not enough values to unpack
|
|||
| |
|
||||
| Expected 2
|
||||
|
|
||||
info: `lint:invalid-assignment` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -26,5 +26,6 @@ error: lint:invalid-assignment: Too many values to unpack
|
|||
| |
|
||||
| Expected 2
|
||||
|
|
||||
info: `lint:invalid-assignment` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -25,5 +25,6 @@ error: lint:not-iterable: Object of type `Literal[1]` is not iterable
|
|||
| ^
|
||||
|
|
||||
info: It doesn't have an `__iter__` method or a `__getitem__` method
|
||||
info: `lint:not-iterable` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -26,5 +26,6 @@ error: lint:invalid-assignment: Not enough values to unpack
|
|||
| |
|
||||
| Expected 3 or more
|
||||
|
|
||||
info: `lint:invalid-assignment` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -28,5 +28,6 @@ error: lint:unresolved-import: Cannot resolve imported module `does_not_exist`
|
|||
2 |
|
||||
3 | x = does_not_exist.foo
|
||||
|
|
||||
info: `lint:unresolved-import` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -31,5 +31,6 @@ error: lint:unresolved-import: Module `a` has no member `does_not_exist`
|
|||
1 | from a import does_exist1, does_not_exist, does_exist2 # error: [unresolved-import]
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
|
||||
info: `lint:unresolved-import` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -28,5 +28,6 @@ error: lint:unresolved-import: Cannot resolve imported module `.does_not_exist`
|
|||
2 |
|
||||
3 | stat = add(10, 15)
|
||||
|
|
||||
info: `lint:unresolved-import` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -28,5 +28,6 @@ error: lint:unresolved-import: Cannot resolve imported module `.does_not_exist.f
|
|||
2 |
|
||||
3 | stat = add(10, 15)
|
||||
|
|
||||
info: `lint:unresolved-import` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -28,5 +28,6 @@ error: lint:unresolved-import: Cannot resolve imported module `does_not_exist`
|
|||
2 |
|
||||
3 | stat = add(10, 15)
|
||||
|
|
||||
info: `lint:unresolved-import` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -40,5 +40,6 @@ error: lint:unresolved-import: Cannot resolve imported module `....foo`
|
|||
2 |
|
||||
3 | stat = add(10, 15)
|
||||
|
|
||||
info: `lint:unresolved-import` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -32,5 +32,6 @@ error: lint:unsupported-bool-conversion: Boolean conversion is unsupported for t
|
|||
| ^
|
||||
|
|
||||
info: `__bool__` on `NotBoolable` must be callable
|
||||
info: `lint:unsupported-bool-conversion` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -42,5 +42,6 @@ info: `str` is not assignable to `bool`
|
|||
| Method defined here
|
||||
3 | return "wat"
|
||||
|
|
||||
info: `lint:unsupported-bool-conversion` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -42,5 +42,6 @@ info: `__bool__` methods must only have a `self` parameter
|
|||
| Method defined here
|
||||
3 | return False
|
||||
|
|
||||
info: `lint:unsupported-bool-conversion` is enabled by default
|
||||
|
||||
```
|
||||
|
|
|
@ -39,5 +39,6 @@ error: lint:unsupported-bool-conversion: Boolean conversion is unsupported for u
|
|||
15 | 10 and get() and True
|
||||
| ^^^^^
|
||||
|
|
||||
info: `lint:unsupported-bool-conversion` is enabled by default
|
||||
|
||||
```
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue