ruff/crates/red_knot_python_semantic/resources/mdtest
Carl Meyer 84d064a14c
[red-knot] fix building unions with literals and AlwaysTruthy/AlwaysFalsy (#17451)
In #17403 I added a comment asserting that all same-kind literal types
share all the same super-types. This is true, with two notable
exceptions: the types `AlwaysTruthy` and `AlwaysFalsy`. These two types
are super-types of some literal types within a given kind and not
others: `Literal[0]`, `Literal[""]`, and `Literal[b""]` inhabit
`AlwaysFalsy`, while other literals inhabit `AlwaysTruthy`.

This PR updates the literal-unions optimization to handle these types
correctly.

Fixes https://github.com/astral-sh/ruff/issues/17447

Verified locally that `QUICKCHECK_TESTS=100000 cargo test -p
red_knot_python_semantic -- --ignored types::property_tests::stable` now
passes again.
2025-04-18 08:20:03 -07:00
..
annotations [red-knot] class bases are not affected by __future__.annotations (#17456) 2025-04-18 06:46:21 -07:00
assignment [red-knot] Detect version-related syntax errors (#16379) 2025-04-17 14:00:30 -04:00
binary [red-knot] Add support for overloaded functions (#17366) 2025-04-18 09:57:40 +05:30
boolean [red-knot] Add some narrowing for assignment expressions (#17448) 2025-04-17 17:28:06 -07:00
boundness_declaredness [red-knot] detect invalid return type (#16540) 2025-03-12 01:58:59 +00:00
call [red-knot] Detect version-related syntax errors (#16379) 2025-04-17 14:00:30 -04:00
class [red-knot] Detect version-related syntax errors (#16379) 2025-04-17 14:00:30 -04:00
comparison [red-knot] Do not assume that x != 0 if x inhabits ~Literal[0] (#17370) 2025-04-15 22:27:27 -07:00
comprehensions [red-knot] detect invalid return type (#16540) 2025-03-12 01:58:59 +00:00
conditional [red-knot] Detect version-related syntax errors (#16379) 2025-04-17 14:00:30 -04:00
declaration [red-knot] Avoid undeclared path when raising conflicting declarations (#14958) 2024-12-17 09:49:39 +05:30
diagnostics [red-knot] Detect version-related syntax errors (#16379) 2025-04-17 14:00:30 -04:00
directives [red-knot] Detect version-related syntax errors (#16379) 2025-04-17 14:00:30 -04:00
doc red_knot_python_semantic: replace one use of "old" secondary diagnostic messages 2025-04-10 13:21:00 -04:00
exception [red-knot] improve function/bound method type display (#17294) 2025-04-14 15:56:18 -07:00
expression [red-knot] Add initial support for * imports (#16923) 2025-03-24 17:15:58 +00:00
function [red-knot] Detect version-related syntax errors (#16379) 2025-04-17 14:00:30 -04:00
generics [red-knot] Detect version-related syntax errors (#16379) 2025-04-17 14:00:30 -04:00
import [red-knot] Detect version-related syntax errors (#16379) 2025-04-17 14:00:30 -04: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] improve function/bound method type display (#17294) 2025-04-14 15:56:18 -07:00
narrow [red-knot] Type narrowing for assertions (take 2) (#17345) 2025-04-18 08:11:07 -07: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] improve function/bound method type display (#17294) 2025-04-14 15:56:18 -07:00
shadowing [red-knot] improve function/bound method type display (#17294) 2025-04-14 15:56:18 -07:00
snapshots [red-knot] Detect version-related syntax errors (#16379) 2025-04-17 14:00:30 -04:00
stubs [red-knot] Detect version-related syntax errors (#16379) 2025-04-17 14:00:30 -04:00
subscript [red-knot] Add support for overloaded functions (#17366) 2025-04-18 09:57:40 +05:30
suppressions Use python.typing.org for typing documentation links (#17323) 2025-04-09 20:38:20 +02:00
type_of [red-knot] improve function/bound method type display (#17294) 2025-04-14 15:56:18 -07:00
type_properties [red-knot] Add support for overloaded functions (#17366) 2025-04-18 09:57:40 +05:30
type_qualifiers [red-knot] Preliminary tests for typing.Final (#15917) 2025-03-14 12:30:13 +01:00
unary [red-knot] improve function/bound method type display (#17294) 2025-04-14 15:56:18 -07: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] Add support for overloaded functions (#17366) 2025-04-18 09:57:40 +05:30
dataclasses.md [red-knot] Add support for overloaded functions (#17366) 2025-04-18 09:57:40 +05:30
decorators.md [red-knot] improve function/bound method type display (#17294) 2025-04-14 15:56:18 -07:00
descriptor_protocol.md [red-knot] Add support for overloaded functions (#17366) 2025-04-18 09:57:40 +05:30
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 version-related syntax errors (#16379) 2025-04-17 14:00:30 -04: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
overloads.md [red-knot] Add support for overloaded functions (#17366) 2025-04-18 09:57:40 +05:30
pep695_type_aliases.md [red-knot] Decorators and properties (#17017) 2025-04-02 09:27:46 +02:00
properties.md [red-knot] improve function/bound method type display (#17294) 2025-04-14 15:56:18 -07:00
protocols.md [red-knot] Understand typing.Protocol and typing_extensions.Protocol as equivalent (#17446) 2025-04-17 21:54:22 +01: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] Detect version-related syntax errors (#16379) 2025-04-17 14:00:30 -04:00
sys_platform.md [red-knot] Specialize str.startswith for string literals (#17351) 2025-04-11 16:26:45 +02:00
sys_version_info.md [red-knot] Decorators and properties (#17017) 2025-04-02 09:27:46 +02:00
terminal_statements.md [red-knot] Avoid unresolved-reference in unreachable code (#17169) 2025-04-03 16:52:11 +02:00
type_api.md [red-knot] Detect version-related syntax errors (#16379) 2025-04-17 14:00:30 -04:00
union_types.md [red-knot] fix building unions with literals and AlwaysTruthy/AlwaysFalsy (#17451) 2025-04-18 08:20:03 -07:00
unpacking.md [red-knot] Support unpacking with target (#16469) 2025-03-08 02:36:35 +00:00
unreachable.md [red-knot] Document limitations of diagnostics-silencing in unreachable code (#17387) 2025-04-14 12:55:14 +02:00