ruff/crates/ty_python_semantic/resources/mdtest
Douglas Creager faae72b836
[ty] Clarify behavior of constraint sets for gradual upper bounds and constraints (#21287)
When checking whether a constraint set is satisfied, if a typevar has a
non-fully-static upper bound or constraint, we are free to choose any
materialization that makes the check succeed.

In non-inferable positions, we have to show that the constraint set is
satisfied for all valid specializations, so it's best to choose the most
restrictive materialization, since that minimizes the set of valid
specializations that have to pass.

In inferable positions, we only have to show that the constraint set is
satisfied for _some_ valid specializations, so it's best to choose the
most permissive materialization, since that maximizes our chances of
finding a specialization that passes.
2025-11-07 14:01:39 -05:00
..
annotations [ty] Add support for `Literal`s in implicit type aliases (#21296) 2025-11-07 17:46:55 +01:00
assignment [ty] support subscripting typing.Literal with a type alias (#21207) 2025-11-02 12:39:55 -05:00
binary [ty] Rename `UnionType` to `types.UnionType` (#21262) 2025-11-03 22:06:56 +01:00
boolean Revert "[ty] Better control flow for boolean expressions that are inside if (#18010)" (#18150) 2025-05-17 08:27:32 -04:00
boundness_declaredness [ty] Reformulation of public symbol inference test suite (#20667) 2025-10-01 14:26:17 +02:00
call [ty] `dict` is not assignable to `TypedDict` (#21238) 2025-11-03 16:57:49 -05:00
class [ty] Fix bug where ty would think all types had an `__mro__` attribute (#20995) 2025-10-27 11:19:12 +00:00
comparison [ty] detect cycles in binary comparison inference (#20446) 2025-09-17 09:45:25 +02:00
comprehensions [ty] `dict` is not assignable to `TypedDict` (#21238) 2025-11-03 16:57:49 -05:00
conditional [ty] Support as-patterns in reachability analysis (#19728) 2025-08-04 20:13:50 +02:00
dataclasses [ty] Use "cannot" consistently over "can not" (#21255) 2025-11-03 10:38:20 -05:00
declaration [ty] Format conflicting types as an enumeration (#18956) 2025-06-26 14:29:33 +02:00
diagnostics [ty] `continue` and `break` statements outside loops are syntax errors (#20944) 2025-10-17 17:13:40 +00:00
directives [ty] Use annotated parameters as type context (#20635) 2025-10-03 17:14:51 -04:00
doc ty_python_semantic: add union type context to function call type errors 2025-05-09 13:40:51 -04:00
exception [ty] Filter out `revealed-type` and `undefined-reveal` diagnostics from mdtest snapshots (#20820) 2025-10-12 18:39:32 +00:00
expression [ty] Use "cannot" consistently over "can not" (#21255) 2025-11-03 10:38:20 -05:00
function [ty] don't union in default type for annotated parameters (#21208) 2025-11-02 18:21:54 -05:00
generics [ty] Understand legacy and PEP 695 `ParamSpec` (#21139) 2025-11-06 11:14:40 -05:00
ide_support [ty] Use "cannot" consistently over "can not" (#21255) 2025-11-03 10:38:20 -05:00
import [ty] prefer submodule over module __getattr__ in from-imports (#21260) 2025-11-03 15:24:01 -05:00
literal [ty] Type inference for comprehensions (#20962) 2025-11-02 14:35:33 +01:00
loops [ty] Fix bug where ty would think all types had an `__mro__` attribute (#20995) 2025-10-27 11:19:12 +00:00
narrow [ty] Implicit type aliases: Support for PEP 604 unions (#21195) 2025-11-03 21:50:25 +01:00
regression [ty] Fix panic due to simplifying `Divergent` types out of intersections types (#21253) 2025-11-03 15:41:11 +00:00
scopes [ty] Improve error messages for unresolved attribute diagnostics (#20963) 2025-10-19 10:58:25 +01:00
shadowing Rename Red Knot (#17820) 2025-05-03 19:49:15 +02:00
snapshots [ty] `dict` is not assignable to `TypedDict` (#21238) 2025-11-03 16:57:49 -05:00
stubs [ty] Fix bug where ty would think all types had an `__mro__` attribute (#20995) 2025-10-27 11:19:12 +00:00
subscript [ty] Fix bug where ty would think all types had an `__mro__` attribute (#20995) 2025-10-27 11:19:12 +00:00
suppressions [ty] Add suggestion to unknown rule diagnostics, rename `unknown-rule` lint to `ignore-comment-unknown-rule` (#20948) 2025-10-18 12:44:21 +02:00
type_compendium [ty] Use "cannot" consistently over "can not" (#21255) 2025-11-03 10:38:20 -05:00
type_of [ty] Fix bug where ty would think all types had an `__mro__` attribute (#20995) 2025-10-27 11:19:12 +00:00
type_properties [ty] Clarify behavior of constraint sets for gradual upper bounds and constraints (#21287) 2025-11-07 14:01:39 -05:00
type_qualifiers [ty] Fix bug where ty would think all types had an `__mro__` attribute (#20995) 2025-10-27 11:19:12 +00:00
unary Update class literal display to use `<class 'Foo'>` style (#17889) 2025-05-06 20:11:25 -04:00
with [ty] Use `typing.Self` for the first parameter of instance methods (#20517) 2025-09-29 21:08:08 +02:00
.mdformat.toml Rename Red Knot (#17820) 2025-05-03 19:49:15 +02:00
async.md [ty] Support `async`/`await`, `async with` and `yield from` (#19595) 2025-07-30 11:51:21 +02:00
attributes.md [ty] Use "cannot" consistently over "can not" (#21255) 2025-11-03 10:38:20 -05:00
bidirectional.md [ty] `dict` is not assignable to `TypedDict` (#21238) 2025-11-03 16:57:49 -05:00
classes.md [ty] Fix bug where ty would think all types had an `__mro__` attribute (#20995) 2025-10-27 11:19:12 +00:00
cycle.md [ty] Avoid ever-growing default types (#20991) 2025-10-21 19:13:36 +02:00
decorators.md ty_python_semantic: add union type context to function call type errors 2025-05-09 13:40:51 -04:00
del.md [ty] No union with `Unknown` for module-global symbols (#20664) 2025-10-01 16:40:30 +02:00
deprecated.md [ty] Consistent use of American english (in rules) (#19488) 2025-07-22 16:10:38 +02:00
descriptor_protocol.md [ty] Infer type for implicit `self` parameters in method bodies (#20922) 2025-10-23 09:34:39 +02:00
enums.md [ty] Enums: allow multiple aliases to point to the same member (#20669) 2025-10-01 15:51:53 +02:00
exhaustiveness_checking.md [ty] Improve exhaustiveness analysis for type variables with bounds or constraints (#21172) 2025-10-31 16:51:11 -04:00
final.md Rename Red Knot (#17820) 2025-05-03 19:49:15 +02:00
implicit_type_aliases.md [ty] Add support for `Literal`s in implicit type aliases (#21296) 2025-11-07 17:46:55 +01:00
instance_layout_conflict.md [ty] initial support for `slots=True` in dataclasses (#20278) 2025-09-07 18:25:35 +01:00
intersection_types.md [ty] Use "cannot" consistently over "can not" (#21255) 2025-11-03 10:38:20 -05:00
invalid_syntax.md Rename Red Knot (#17820) 2025-05-03 19:49:15 +02:00
known_constants.md Rename Red Knot (#17820) 2025-05-03 19:49:15 +02:00
literal_promotion.md [ty] Do not promote literals in contravariant positions of generic specializations (#21171) 2025-10-31 17:48:34 +01:00
mdtest_config.md Rename Red Knot (#17820) 2025-05-03 19:49:15 +02:00
mdtest_custom_typeshed.md [ty] Remove `Type::Tuple` (#19669) 2025-08-11 22:03:32 +01:00
metaclass.md Update class literal display to use `<class 'Foo'>` style (#17889) 2025-05-06 20:11:25 -04:00
mro.md [ty] Rename `UnionType` to `types.UnionType` (#21262) 2025-11-03 22:06:56 +01:00
named_tuple.md [ty] Fix bug where ty would think all types had an `__mro__` attribute (#20995) 2025-10-27 11:19:12 +00:00
overloads.md [ty] Infer type of `self` for decorated methods and properties (#21123) 2025-10-29 21:22:38 +00:00
paramspec.md [ty] Understand legacy and PEP 695 `ParamSpec` (#21139) 2025-11-06 11:14:40 -05:00
pep613_type_aliases.md [ty] Fall back to `Divergent` for deeply nested specializations (#20988) 2025-10-22 14:29:10 +02:00
pep695_type_aliases.md [ty] Add cycle handling to `lazy_default` (#20967) 2025-10-23 10:05:08 +02:00
properties.md [ty] `"foo".startswith` is not an instance of `types.MethodWrapperType` (#20317) 2025-09-10 11:14:26 +00:00
protocols.md [ty] Fix bug where ty would think all types had an `__mro__` attribute (#20995) 2025-10-27 11:19:12 +00:00
public_types.md [ty] Disambiguate classes that live in different modules but have the same fully qualified names (#20756) 2025-10-08 18:27:40 +01:00
statically_known_branches.md [ty] Rename "possibly unbound" diagnostics to "possibly missing" (#20492) 2025-09-23 14:26:55 +00:00
sys_platform.md Rename Red Knot (#17820) 2025-05-03 19:49:15 +02:00
sys_version_info.md Rename Red Knot (#17820) 2025-05-03 19:49:15 +02:00
t_strings.md [ty] Add support for PEP 750 t-strings (#20085) 2025-08-25 18:49:49 +00:00
terminal_statements.md [ty] improve lazy scope place lookup (#19321) 2025-07-25 07:11:11 +00:00
ty_extensions.md [ty] Use "cannot" consistently over "can not" (#21255) 2025-11-03 10:38:20 -05:00
typed_dict.md [ty] `dict` is not assignable to `TypedDict` (#21238) 2025-11-03 16:57:49 -05:00
union_types.md [ty] Introduce `TypeRelation::Redundancy` (#20602) 2025-10-03 18:35:30 +01:00
unpacking.md [ty] Infer more precise types for collection literals (#20360) 2025-09-17 18:51:50 -04:00
unreachable.md [ty] Use "cannot" consistently over "can not" (#21255) 2025-11-03 10:38:20 -05:00