ruff/crates/red_knot_python_semantic/resources/mdtest
Trevor Manz 53cfaaebc4
[red-knot] Add redundant-cast error (#17100)
## Summary

Following up from earlier discussion on Discord, this PR adds logic to
flag casts as redundant when the inferred type of the expression is the
same as the target type. It should follow the semantics from
[mypy](https://github.com/python/mypy/pull/1705).

Example:

```python
def f() -> int:
    return 10

# error: [redundant-cast] "Value is already of type `int`"
cast(int, f())
```
2025-04-01 00:37:25 +00:00
..
annotations [red-knot] Add ParamSpecArgs and ParamSpecKwargs as KnownClass (#17086) 2025-03-31 10:52:23 +00:00
assignment [red-knot] Use try_call_dunder for augmented assignment (#16717) 2025-03-14 20:36:09 +01:00
binary [red-knot] Binary operator inference: generalize code for non-instances (#17081) 2025-03-31 13:01:25 +02:00
boolean [red-knot] Statically known branches (#15019) 2024-12-21 11:33:10 +01:00
boundness_declaredness [red-knot] detect invalid return type (#16540) 2025-03-12 01:58:59 +00:00
call Fix member lookup for unions & intersections ignoring policy (#17066) 2025-03-31 09:40:47 +02:00
comparison [red-knot] fix eager nested scopes handling (#16916) 2025-03-28 11:11:56 -04:00
comprehensions [red-knot] detect invalid return type (#16540) 2025-03-12 01:58:59 +00:00
conditional [red-knot] Handle unions of callables better (#16716) 2025-03-17 10:35:52 -04:00
declaration [red-knot] Avoid undeclared path when raising conflicting declarations (#14958) 2024-12-17 09:49:39 +05:30
diagnostics [red-knot] Document current state of attribute assignment diagnostics (#16746) 2025-03-14 20:34:43 +01:00
directives [red-knot] Add redundant-cast error (#17100) 2025-04-01 00:37:25 +00:00
doc [red-knot] Document 'public type of undeclared symbols' behavior (#16096) 2025-02-12 08:52:11 +01:00
exception Fixing various spelling errors (#16924) 2025-03-23 08:08:40 +00:00
expression [red-knot] Add initial support for * imports (#16923) 2025-03-24 17:15:58 +00:00
function [red-knot] Handle special case returning NotImplemented (#17034) 2025-03-30 11:06:12 -07:00
generics [red-knot] fix ordering of ClassDef semantic index building (#16915) 2025-03-23 13:23:12 +00:00
import [red-knot] Fix panic on cyclic * imports (#16958) 2025-03-24 18:23:02 +00:00
literal [red-knot] Migrate bool/str/repr unit tests to Markdown tests (#15534) 2025-01-16 11:21:56 -08:00
loops [red-knot] Handle unions of callables better (#16716) 2025-03-17 10:35:52 -04:00
narrow [red-knot] Narrowing on in tuple[...] and in str (#17059) 2025-03-31 23:38:09 +00:00
regression [red-knot] Enforce specifying paths for mdtest code blocks in a separate preceding line (#15890) 2025-02-04 08:27:17 +01:00
scopes [red-knot] fix eager nested scopes handling (#16916) 2025-03-28 11:11:56 -04:00
shadowing [red-knot] Merge Markdown code blocks inside a single section (#15950) 2025-02-05 22:26:15 +01:00
snapshots [red-knot] fix eager nested scopes handling (#16916) 2025-03-28 11:11:56 -04:00
stubs Fixing more spelling errors (#16926) 2025-03-23 10:55:14 -07:00
subscript [red-knot] detect invalid return type (#16540) 2025-03-12 01:58:59 +00:00
suppressions [red-knot] Attribute access and the descriptor protocol (#16416) 2025-03-07 22:03:28 +01:00
type_of [red-knot] Method calls and the descriptor protocol (#16121) 2025-02-20 23:22:26 +01:00
type_properties [red-knot] Add assignability of function literals to callables (#17095) 2025-03-31 15:42:42 +00:00
type_qualifiers [red-knot] Preliminary tests for typing.Final (#15917) 2025-03-14 12:30:13 +01:00
unary [red-knot] Handle unions of callables better (#16716) 2025-03-17 10:35:52 -04:00
with [red-knot] detect invalid return type (#16540) 2025-03-12 01:58:59 +00:00
.mdformat.toml [red-knot] have mdformat wrap mdtest files to 100 columns (#14020) 2024-10-31 21:00:51 +00:00
attributes.md [red-knot] Reduce false positives on super() and enum-class attribute accesses (#17004) 2025-03-27 17:30:56 -04:00
descriptor_protocol.md [red-knot] Assignments to attributes (#16705) 2025-03-14 12:15:41 +01:00
final.md [red-knot] Add support for @final classes (#15070) 2024-12-19 21:02:14 +00:00
intersection_types.md [red-knot] add test cases result in false positive errors (#16856) 2025-03-20 17:17:54 +00:00
invalid_syntax.md [red-knot] Understand typing.Callable (#16493) 2025-03-08 03:58:52 +00:00
known_constants.md [red-knot] Add rule invalid-type-checking-constant (#16501) 2025-03-04 19:49:34 +00:00
mdtest_config.md [red-knot] Add missing imports in mdtests (#15869) 2025-02-03 09:27:29 +00:00
mdtest_custom_typeshed.md [red-knot] Enforce specifying paths for mdtest code blocks in a separate preceding line (#15890) 2025-02-04 08:27:17 +01:00
metaclass.md [red-knot] detect invalid return type (#16540) 2025-03-12 01:58:59 +00:00
mro.md [red-knot] Enforce specifying paths for mdtest code blocks in a separate preceding line (#15890) 2025-02-04 08:27:17 +01:00
pep695_type_aliases.md [red-knot] Move type_alias_types test to Markdown (#15607) 2025-01-20 09:55:54 +01:00
protocols.md [red-knot] Make' Type::in_type_expression()' exhaustive for Type::KnownInstance (#16836) 2025-03-19 07:36:28 -07:00
slots.md [red-knot] fix: improve type inference for binary ops on tuples (#16725) 2025-03-14 12:29:57 +01:00
statically_known_branches.md [red-knot] Litate tests: minor follow-up (#15987) 2025-02-06 07:15:26 +00:00
sys_platform.md [red-knot] Method calls and the descriptor protocol (#16121) 2025-02-20 23:22:26 +01:00
sys_version_info.md [red-knot] Merge Markdown code blocks inside a single section (#15950) 2025-02-05 22:26:15 +01:00
terminal_statements.md [red-knot] detect invalid return type (#16540) 2025-03-12 01:58:59 +00:00
type_api.md [red-knot] Allow CallableTypeFromFunction to display the signatures of callable types that are not function literals (#17047) 2025-03-28 20:23:04 +00:00
union_types.md [red-knot] add special case for float/complex (#16166) 2025-02-14 12:24:10 -08:00
unpacking.md [red-knot] Support unpacking with target (#16469) 2025-03-08 02:36:35 +00:00