ruff/crates/ty_python_semantic/resources/mdtest
Douglas Creager b413a6dec4
[ty] Allow gradual lower/upper bounds in a constraint set (#21957)
We now allow the lower and upper bounds of a constraint to be gradual.
Before, we would take the top/bottom materializations of the bounds.
This required us to pass in whether the constraint was intended for a
subtyping check or an assignability check, since that would control
whether we took the "restrictive" or "permissive" materializations,
respectively.

Unfortunately, doing so means that we lost information about whether the
original query involves a non-fully-static type. This would cause us to
create specializations like `T = object` for the constraint `T ≤ Any`,
when it would be nicer to carry through the gradual type and produce `T
= Any`.

We're not currently using constraint sets for subtyping checks, nor are
we going to in the very near future. So for now, we're going to assume
that constraint sets are always used for assignability checks, and allow
the lower/upper bounds to not be fully static. Once we get to the point
where we need to use constraint sets for subtyping checks, we will
consider how best to record this information in constraints.
2025-12-12 22:18:30 -05:00
..
annotations [ty] support `NewType`s of `float` and `complex` (#21886) 2025-12-12 00:43:09 +00:00
assignment [ty] Improve diagnostics for unsupported binary operations and unsupported augmented assignments (#21947) 2025-12-12 21:53:29 +00:00
binary [ty] Improve diagnostics for unsupported binary operations and unsupported augmented assignments (#21947) 2025-12-12 21:53:29 +00: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] Enable even more goto-definition on inlay hints (#21950) 2025-12-12 12:57:38 -05:00
class [ty] Infer type of implicit `cls` parameter in method bodies (#21685) 2025-12-10 10:31:28 +01:00
comparison [ty] Improve diagnostics for unsupported comparison operations (#21737) 2025-12-02 19:58:45 +00:00
comprehensions [ty] fix global symbol lookup from eager scopes (#21317) 2025-11-12 10:15:51 -08:00
conditional [ty] Uniformly use "not supported" in diagnostics (#21916) 2025-12-11 15:03:55 +00:00
dataclasses [ty] Respect `kw_only` from parent class (#21820) 2025-12-10 10:12:18 +01:00
declaration [ty] Format conflicting types as an enumeration (#18956) 2025-06-26 14:29:33 +02:00
diagnostics [ty] Add subdiagnostic hint if the user wrote `X = Any` rather than `X: Any` (#21777) 2025-12-03 20:42:21 +00:00
directives [ty] Minor improvements to `assert_type` diagnostics (#21811) 2025-12-05 12:33:30 +00:00
doc ty_python_semantic: add union type context to function call type errors 2025-05-09 13:40:51 -04:00
exception [ty] Improve diagnostics for invalid exceptions (#21475) 2025-11-15 22:12:00 +00:00
expression [ty] Uniformly use "not supported" in diagnostics (#21916) 2025-12-11 15:03:55 +00:00
external [ty] Type inference for `@asynccontextmanager` (#21876) 2025-12-09 22:49:00 +01:00
function [ty] Improve the display of various special-form types (#21775) 2025-12-03 21:19:59 +00:00
generics [ty] Allow gradual lower/upper bounds in a constraint set (#21957) 2025-12-12 22:18:30 -05:00
ide_support [ty] Support `type[T]` with type variables (#21650) 2025-11-28 09:20:24 +01:00
import [ty] Improve resolution of absolute imports in tests (#21817) 2025-12-12 11:59:06 -05:00
libraries [ty] Generic types aliases (implicit and PEP 613) (#21553) 2025-11-28 20:38:24 +01:00
literal [ty] Type inference for genererator expressions (#21437) 2025-11-14 13:04:11 +00:00
loops [ty] Uniformly use "not supported" in diagnostics (#21916) 2025-12-11 15:03:55 +00:00
narrow [ty] Uniformly use "not supported" in diagnostics (#21916) 2025-12-11 15:03:55 +00:00
regression [ty] Avoid diagnostic when `typing_extensions.ParamSpec` uses `default` parameter (#21839) 2025-12-08 12:34:30 +00:00
scopes [ty] Make `__getattr__` available for `ModuleType` instances (#21450) 2025-11-14 13:59:14 +01:00
shadowing Rename Red Knot (#17820) 2025-05-03 19:49:15 +02:00
snapshots [ty] Improve diagnostics for unsupported binary operations and unsupported augmented assignments (#21947) 2025-12-12 21:53:29 +00:00
stubs [ty] Better invalid-assignment diagnostics (#21476) 2025-11-18 14:31:04 +01:00
subscript [ty] support `type[tuple[...]]` (#21652) 2025-12-01 11:49:26 +01:00
suppressions [ty] Add code action to ignore diagnostic on the current line (#21595) 2025-11-29 15:41:54 +01:00
type_compendium [ty] Improve literal promotion heuristics (#21439) 2025-11-14 16:13:56 -05:00
type_of [ty] Fix disjointness checks with type-of `@final` classes (#21770) 2025-12-10 15:15:10 -05:00
type_properties [ty] Fix disjointness checks with type-of `@final` classes (#21770) 2025-12-10 15:15:10 -05:00
type_qualifiers [ty] Avoid double-analyzing tuple in `Final` subscript (#21828) 2025-12-07 14:27:14 +00:00
unary [ty] Improve diagnostics for unsupported binary operations and unsupported augmented assignments (#21947) 2025-12-12 21:53:29 +00:00
with [ty] Type inference for `@asynccontextmanager` (#21876) 2025-12-09 22:49:00 +01:00
.mdformat.toml Rename Red Knot (#17820) 2025-05-03 19:49:15 +02:00
async.md [ty] Generic types aliases (implicit and PEP 613) (#21553) 2025-11-28 20:38:24 +01:00
attributes.md [ty] Enable even more goto-definition on inlay hints (#21950) 2025-12-12 12:57:38 -05:00
bidirectional.md [ty] Improve diagnostics for unsupported comparison operations (#21737) 2025-12-02 19:58:45 +00: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 fixpoint unioning of types containing current-cycle Divergent (#21910) 2025-12-11 19:52:34 -08: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] Enable even more goto-definition on inlay hints (#21950) 2025-12-12 12:57:38 -05:00
enums.md [ty] Support `type[T]` with type variables (#21650) 2025-11-28 09:20:24 +01:00
exhaustiveness_checking.md [ty] Exhaustiveness checking for generic classes (#21726) 2025-12-01 13:52:36 +01:00
final.md [ty] Improve `@override`, `@final` and Liskov checks in cases where there are multiple reachable definitions (#21767) 2025-12-03 12:51:36 +00:00
implicit_type_aliases.md [ty] disallow explicit specialization of type variables themselves (#21938) 2025-12-12 15:49:20 -08: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 [ty] Avoid double-inference on non-tuple argument to `Annotated` (#21837) 2025-12-08 10:24:05 -05:00
known_constants.md Rename Red Knot (#17820) 2025-05-03 19:49:15 +02:00
liskov.md [ty] Carry generic context through when converting class into `Callable` (#21798) 2025-12-05 08:57:21 -05:00
literal_promotion.md [ty] Narrow type context during literal promotion in generic class constructors (#21574) 2025-11-21 17:05:32 -05: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] Improve the display of various special-form types (#21775) 2025-12-03 21:19:59 +00:00
named_tuple.md [ty] Support implicit type of `cls` in signatures (#21771) 2025-12-10 16:56:20 -05:00
overloads.md [ty] Infer type of `self` for decorated methods and properties (#21123) 2025-10-29 21:22:38 +00:00
override.md [ty] Improve `@override`, `@final` and Liskov checks in cases where there are multiple reachable definitions (#21767) 2025-12-03 12:51:36 +00:00
pep613_type_aliases.md [ty] Improve the display of various special-form types (#21775) 2025-12-03 21:19:59 +00:00
pep695_type_aliases.md [ty] Support typevar-specialized dynamic types in generic type aliases (#21730) 2025-12-03 10:00:02 +01:00
properties.md [ty] Enable even more goto-definition on inlay hints (#21950) 2025-12-12 12:57:38 -05:00
protocols.md Fix stack overflow with recursive generic protocols (depth limit) (#21858) 2025-12-09 09:05:18 -08: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 [ty] support PEP 613 type aliases (#21394) 2025-11-20 17:59:35 -08: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] Uniformly use "not supported" in diagnostics (#21916) 2025-12-11 15:03:55 +00:00
typed_dict.md [ty] add `SyntheticTypedDictType` and implement `normalized` and `is_equivalent_to` (#21784) 2025-12-10 20:36:36 +00: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] Add subdiagnostic hint if a variable with type `Never` is used in a type expression (#21660) 2025-11-27 12:48:18 +00:00