From 85b781eb8f9bf5ffa76d21ef545dcd74b2955c0e Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Wed, 28 Oct 2026 08:53:27 -0700 Subject: [PATCH] Update ty results for v0.0.93 --- conformance/results/results.html | 21 +++------- conformance/results/ty/aliases_explicit.toml | 40 +++++++++---------- conformance/results/ty/aliases_implicit.toml | 39 ++++++++---------- .../results/ty/aliases_type_statement.toml | 26 ++++++------ .../results/ty/aliases_typealiastype.toml | 2 +- .../results/ty/annotations_forward_refs.toml | 2 +- .../results/ty/annotations_typeexpr.toml | 2 +- conformance/results/ty/classes_classvar.toml | 2 +- .../results/ty/generics_paramspec_basic.toml | 2 +- .../ty/generics_syntax_declarations.toml | 2 +- .../results/ty/typeforms_typeform.toml | 2 +- conformance/results/ty/version.toml | 2 +- conformance/uv.lock | 38 +++++++++--------- 13 files changed, 80 insertions(+), 100 deletions(-) diff --git a/conformance/results/results.html b/conformance/results/results.html index 849148007..4fefddd4e 100644 --- a/conformance/results/results.html +++ b/conformance/results/results.html @@ -268,7 +268,7 @@

Python Type System Conformance Test Results

pycroscope 0.5.0 pyrefly 1.3.0-dev.1 pyright 1.1.410 - ty 0.0.91 + ty 0.0.93 zuban 0.10.0 @@ -1087,12 +1087,7 @@

Python Type System Conformance Test Results

Pass Pass Pass - - Partial - - + Pass Pass @@ -1107,13 +1102,7 @@

Python Type System Conformance Test Results

Pass Pass - - Partial - - + Pass Pass @@ -1184,7 +1173,7 @@

Python Type System Conformance Test Results

6 / 7 • 85.7% 7 / 7 • 100.0% 7 / 7 • 100.0% - 6 / 7 • 85.7% + 7 / 7 • 100.0% 7 / 7 • 100.0% @@ -2572,7 +2561,7 @@

Python Type System Conformance Test Results

138.5 / 146 • 94.9% 141 / 146 • 96.6% 136 / 146 • 93.2% - 140 / 146 • 95.9% + 141 / 146 • 96.6% 146 / 146 • 100.0% diff --git a/conformance/results/ty/aliases_explicit.toml b/conformance/results/ty/aliases_explicit.toml index 217de53b7..3c0a12246 100644 --- a/conformance/results/ty/aliases_explicit.toml +++ b/conformance/results/ty/aliases_explicit.toml @@ -1,30 +1,26 @@ -conformance_automated = "Fail" -conformant = "Partial" -notes = """ -Does not emit a diagnostic if a type alias to a union, in which every element of the union is implicitly specialized with `Unknown`, is invalidly specialized again. -""" +conformance_automated = "Pass" errors_diff = """ -Line 100: Expected 1 errors """ output = """ -aliases_explicit.py:67:9: error[not-subscriptable] Cannot subscript non-generic type `` -aliases_explicit.py:68:9: error[not-subscriptable] Cannot subscript non-generic type `` +aliases_explicit.py:67:9: error[not-subscriptable] Cannot subscript non-generic type `int | None` +aliases_explicit.py:68:9: error[not-subscriptable] Cannot subscript non-generic type `list[int | None]` aliases_explicit.py:69:29: error[invalid-type-arguments] Too many type arguments: expected 1, got 2 aliases_explicit.py:70:29: error[invalid-type-arguments] Too many type arguments: expected 1, got 2 aliases_explicit.py:71:24: error[invalid-type-arguments] Type argument for `ParamSpec` must be either a list of types, `ParamSpec`, `Concatenate`, or `...` -aliases_explicit.py:79:21: error[invalid-type-form] Function calls are not allowed in type alias values -aliases_explicit.py:80:21: error[invalid-type-form] List literals are not allowed in this context in a type alias value -aliases_explicit.py:81:21: error[invalid-type-form] Tuple literals are not allowed in this context in a type alias value -aliases_explicit.py:82:21: error[invalid-type-form] List comprehensions are not allowed in type alias values -aliases_explicit.py:83:21: error[invalid-type-form] Dict literals are not allowed in type alias values -aliases_explicit.py:84:21: error[invalid-type-form] Function calls are not allowed in type alias values -aliases_explicit.py:85:21: error[invalid-type-form] Only simple names and dotted names can be subscripted in type alias values -aliases_explicit.py:86:21: error[invalid-type-form] `if` expressions are not allowed in type alias values -aliases_explicit.py:87:21: error[invalid-type-form] Variable of type `Literal[3]` is not allowed in a type alias value -aliases_explicit.py:88:22: error[invalid-type-form] Boolean literals are not allowed in this context in a type alias value: Did you mean `typing.Literal[True]`? -aliases_explicit.py:89:22: error[invalid-type-form] Int literals are not allowed in this context in a type alias value: Did you mean `typing.Literal[1]`? -aliases_explicit.py:90:22: error[invalid-type-form] Boolean operations are not allowed in type alias values -aliases_explicit.py:91:22: error[invalid-type-form] F-strings are not allowed in type alias values +aliases_explicit.py:79:21: error[invalid-type-form] Function calls are not allowed in type alias definitions +aliases_explicit.py:80:21: error[invalid-type-form] List literals are not allowed in this context in a type alias definition +aliases_explicit.py:81:21: error[invalid-type-form] Tuple literals are not allowed in this context in a type alias definition +aliases_explicit.py:82:21: error[invalid-type-form] List comprehensions are not allowed in type alias definitions +aliases_explicit.py:83:21: error[invalid-type-form] Dict literals are not allowed in type alias definitions +aliases_explicit.py:84:21: error[invalid-type-form] Function calls are not allowed in type alias definitions +aliases_explicit.py:85:21: error[invalid-type-form] Only simple names and dotted names can be subscripted in type alias definitions +aliases_explicit.py:86:21: error[invalid-type-form] `if` expressions are not allowed in type alias definitions +aliases_explicit.py:87:21: error[invalid-type-form] Variable `var1` cannot be used as a type: Variable of type `Literal[3]` is not allowed in a type alias definition +aliases_explicit.py:88:22: error[invalid-type-form] Boolean literals are not allowed in this context in a type alias definition: Did you mean `typing.Literal[True]`? +aliases_explicit.py:89:22: error[invalid-type-form] Int literals are not allowed in this context in a type alias definition: Did you mean `typing.Literal[1]`? +aliases_explicit.py:90:22: error[invalid-type-form] Boolean operations are not allowed in type alias definitions +aliases_explicit.py:91:22: error[invalid-type-form] F-strings are not allowed in type alias definitions +aliases_explicit.py:100:5: error[not-subscriptable] Cannot subscript non-generic type `list[Unknown]` aliases_explicit.py:101:6: error[call-non-callable] Object of type `UnionType` is not callable -aliases_explicit.py:102:5: error[not-subscriptable] Cannot subscript non-generic type `` +aliases_explicit.py:102:5: error[not-subscriptable] Cannot subscript non-generic type `list[Unknown] | set[Unknown]` """ diff --git a/conformance/results/ty/aliases_implicit.toml b/conformance/results/ty/aliases_implicit.toml index 5cd4682e0..740ed43de 100644 --- a/conformance/results/ty/aliases_implicit.toml +++ b/conformance/results/ty/aliases_implicit.toml @@ -1,32 +1,27 @@ -conformance_automated = "Fail" -conformant = "Partial" -notes = """ -Does not reject variables with `Any` or `Unknown` types when used as implicit type aliases. -Falls short on full syntactic validation of type aliases. -""" +conformance_automated = "Pass" errors_diff = """ -Line 106: Expected 1 errors -Line 111: Expected 1 errors -Line 112: Expected 1 errors -Line 113: Expected 1 errors -Line 117: Expected 1 errors """ output = """ -aliases_implicit.py:76:9: error[not-subscriptable] Cannot subscript non-generic type `` -aliases_implicit.py:77:9: error[not-subscriptable] Cannot subscript non-generic type `` +aliases_implicit.py:76:9: error[not-subscriptable] Cannot subscript non-generic type `int | None` +aliases_implicit.py:77:9: error[not-subscriptable] Cannot subscript non-generic type `list[int | None]` aliases_implicit.py:78:29: error[invalid-type-arguments] Too many type arguments: expected 1, got 2 aliases_implicit.py:79:29: error[invalid-type-arguments] Too many type arguments: expected 1, got 2 aliases_implicit.py:80:24: error[invalid-type-arguments] Type argument for `ParamSpec` must be either a list of types, `ParamSpec`, `Concatenate`, or `...` aliases_implicit.py:81:25: error[invalid-type-arguments] Type `str` is not assignable to upper bound `float` of type variable `TFloat@GoodTypeAlias12` -aliases_implicit.py:107:9: error[invalid-type-form] Variable of type `list[ | ]` is not allowed in a parameter annotation -aliases_implicit.py:108:9: error[invalid-type-form] Variable of type `tuple[tuple[, ]]` is not allowed in a parameter annotation -aliases_implicit.py:109:9: error[invalid-type-form] Variable of type `list[]` is not allowed in a parameter annotation -aliases_implicit.py:110:9: error[invalid-type-form] Variable of type `dict[str, str]` is not allowed in a parameter annotation -aliases_implicit.py:114:9: error[invalid-type-form] Variable of type `Literal[3]` is not allowed in a parameter annotation -aliases_implicit.py:115:10: error[invalid-type-form] Variable of type `Literal[True]` is not allowed in a parameter annotation -aliases_implicit.py:116:10: error[invalid-type-form] Variable of type `Literal[1]` is not allowed in a parameter annotation -aliases_implicit.py:118:10: error[invalid-type-form] Variable of type `Literal["int"]` is not allowed in a parameter annotation +aliases_implicit.py:106:9: error[invalid-type-form] Variable `BadTypeAlias1` cannot be used as a type +aliases_implicit.py:107:9: error[invalid-type-form] Variable `BadTypeAlias2` cannot be used as a type: Variable of type `list[ | ]` is not allowed in a parameter annotation +aliases_implicit.py:108:9: error[invalid-type-form] Variable `BadTypeAlias3` cannot be used as a type: Variable of type `tuple[tuple[, ]]` is not allowed in a parameter annotation +aliases_implicit.py:109:9: error[invalid-type-form] Variable `BadTypeAlias4` cannot be used as a type: Variable of type `list[]` is not allowed in a parameter annotation +aliases_implicit.py:110:9: error[invalid-type-form] Variable `BadTypeAlias5` cannot be used as a type: Variable of type `dict[str, str]` is not allowed in a parameter annotation +aliases_implicit.py:111:9: error[invalid-type-form] Variable `BadTypeAlias6` cannot be used as a type +aliases_implicit.py:112:9: error[invalid-type-form] Variable `BadTypeAlias7` cannot be used as a type +aliases_implicit.py:113:9: error[invalid-type-form] Variable `BadTypeAlias8` cannot be used as a type +aliases_implicit.py:114:9: error[invalid-type-form] Variable `BadTypeAlias9` cannot be used as a type +aliases_implicit.py:115:10: error[invalid-type-form] Variable `BadTypeAlias10` cannot be used as a type: Variable of type `Literal[True]` is not allowed in a parameter annotation +aliases_implicit.py:116:10: error[invalid-type-form] Variable `BadTypeAlias11` cannot be used as a type: Variable of type `Literal[1]` is not allowed in a parameter annotation +aliases_implicit.py:117:10: error[invalid-type-form] Variable `BadTypeAlias12` cannot be used as a type +aliases_implicit.py:118:10: error[invalid-type-form] Variable `BadTypeAlias13` cannot be used as a type: Variable of type `Literal["int"]` is not allowed in a parameter annotation aliases_implicit.py:119:10: error[invalid-type-form] Variable of type `Literal["int | str"]` is not allowed in a parameter annotation aliases_implicit.py:133:6: error[call-non-callable] Object of type `UnionType` is not callable -aliases_implicit.py:135:5: error[not-subscriptable] Cannot subscript non-generic type `` +aliases_implicit.py:135:5: error[not-subscriptable] Cannot subscript non-generic type `list[Unknown] | set[Unknown]` """ diff --git a/conformance/results/ty/aliases_type_statement.toml b/conformance/results/ty/aliases_type_statement.toml index ecf347637..3ad6d2304 100644 --- a/conformance/results/ty/aliases_type_statement.toml +++ b/conformance/results/ty/aliases_type_statement.toml @@ -7,19 +7,19 @@ aliases_type_statement.py:19:1: error[call-non-callable] Object of type `TypeAli aliases_type_statement.py:23:7: error[unresolved-attribute] Object of type `TypeAliasType` has no attribute `other_attrib` aliases_type_statement.py:26:18: error[invalid-base] Invalid class base with type `TypeAliasType` aliases_type_statement.py:31:22: error[invalid-argument-type] Argument to function `isinstance` is incorrect: Expected `_ClassInfo`, found `TypeAliasType` -aliases_type_statement.py:37:22: error[invalid-type-form] Function calls are not allowed in type alias values -aliases_type_statement.py:38:22: error[invalid-type-form] List literals are not allowed in this context in a type alias value -aliases_type_statement.py:39:22: error[invalid-type-form] Tuple literals are not allowed in this context in a type alias value -aliases_type_statement.py:40:22: error[invalid-type-form] List comprehensions are not allowed in type alias values -aliases_type_statement.py:41:22: error[invalid-type-form] Dict literals are not allowed in type alias values -aliases_type_statement.py:42:22: error[invalid-type-form] Function calls are not allowed in type alias values -aliases_type_statement.py:43:22: error[invalid-type-form] Only simple names and dotted names can be subscripted in type alias values -aliases_type_statement.py:44:22: error[invalid-type-form] `if` expressions are not allowed in type alias values -aliases_type_statement.py:45:22: error[invalid-type-form] Variable of type `Literal[1]` is not allowed in a type alias value -aliases_type_statement.py:46:23: error[invalid-type-form] Boolean literals are not allowed in this context in a type alias value: Did you mean `typing.Literal[True]`? -aliases_type_statement.py:47:23: error[invalid-type-form] Int literals are not allowed in this context in a type alias value: Did you mean `typing.Literal[1]`? -aliases_type_statement.py:48:23: error[invalid-type-form] Boolean operations are not allowed in type alias values -aliases_type_statement.py:49:23: error[invalid-type-form] F-strings are not allowed in type alias values +aliases_type_statement.py:37:22: error[invalid-type-form] Function calls are not allowed in type alias definitions +aliases_type_statement.py:38:22: error[invalid-type-form] List literals are not allowed in this context in a type alias definition +aliases_type_statement.py:39:22: error[invalid-type-form] Tuple literals are not allowed in this context in a type alias definition +aliases_type_statement.py:40:22: error[invalid-type-form] List comprehensions are not allowed in type alias definitions +aliases_type_statement.py:41:22: error[invalid-type-form] Dict literals are not allowed in type alias definitions +aliases_type_statement.py:42:22: error[invalid-type-form] Function calls are not allowed in type alias definitions +aliases_type_statement.py:43:22: error[invalid-type-form] Only simple names and dotted names can be subscripted in type alias definitions +aliases_type_statement.py:44:22: error[invalid-type-form] `if` expressions are not allowed in type alias definitions +aliases_type_statement.py:45:22: error[invalid-type-form] Variable `var1` cannot be used as a type: Variable of type `Literal[1]` is not allowed in a type alias definition +aliases_type_statement.py:46:23: error[invalid-type-form] Boolean literals are not allowed in this context in a type alias definition: Did you mean `typing.Literal[True]`? +aliases_type_statement.py:47:23: error[invalid-type-form] Int literals are not allowed in this context in a type alias definition: Did you mean `typing.Literal[1]`? +aliases_type_statement.py:48:23: error[invalid-type-form] Boolean operations are not allowed in type alias definitions +aliases_type_statement.py:49:23: error[invalid-type-form] F-strings are not allowed in type alias definitions aliases_type_statement.py:53:23: error[unbound-type-variable] Type variable `V` is not bound to any outer generic context aliases_type_statement.py:58:17: error[unbound-type-variable] Type variable `T1` is not bound to any outer generic context aliases_type_statement.py:68:27: error[invalid-type-arguments] Type `str` is not assignable to upper bound `int` of type variable `S@RecursiveTypeAlias2` diff --git a/conformance/results/ty/aliases_typealiastype.toml b/conformance/results/ty/aliases_typealiastype.toml index e2814fcc2..db6cdc7c4 100644 --- a/conformance/results/ty/aliases_typealiastype.toml +++ b/conformance/results/ty/aliases_typealiastype.toml @@ -19,7 +19,7 @@ aliases_typealiastype.py:56:42: error[invalid-type-form] Dict literals are not a aliases_typealiastype.py:57:42: error[invalid-type-form] Function calls are not allowed in type expressions aliases_typealiastype.py:58:42: error[invalid-type-form] Only simple names and dotted names can be subscripted in type expressions aliases_typealiastype.py:59:42: error[invalid-type-form] `if` expressions are not allowed in type expressions -aliases_typealiastype.py:60:42: error[invalid-type-form] Variable of type `Literal[3]` is not allowed in a type expression +aliases_typealiastype.py:60:42: error[invalid-type-form] Variable `var1` cannot be used as a type: Variable of type `Literal[3]` is not allowed in a type expression aliases_typealiastype.py:61:42: error[invalid-type-form] Boolean literals are not allowed in this context in a type expression: Did you mean `typing.Literal[True]`? aliases_typealiastype.py:62:42: error[invalid-type-form] Int literals are not allowed in this context in a type expression: Did you mean `typing.Literal[1]`? aliases_typealiastype.py:63:42: error[invalid-type-form] Boolean operations are not allowed in type expressions diff --git a/conformance/results/ty/annotations_forward_refs.toml b/conformance/results/ty/annotations_forward_refs.toml index 540dc2823..5d067ef53 100644 --- a/conformance/results/ty/annotations_forward_refs.toml +++ b/conformance/results/ty/annotations_forward_refs.toml @@ -14,7 +14,7 @@ annotations_forward_refs.py:45:10: error[invalid-type-form] Dict literals are no annotations_forward_refs.py:46:10: error[invalid-type-form] Function calls are not allowed in parameter annotations annotations_forward_refs.py:47:10: error[invalid-type-form] Only simple names and dotted names can be subscripted in parameter annotations annotations_forward_refs.py:48:10: error[invalid-type-form] `if` expressions are not allowed in parameter annotations -annotations_forward_refs.py:49:10: error[invalid-type-form] Variable of type `Literal[1]` is not allowed in a parameter annotation +annotations_forward_refs.py:49:10: error[invalid-type-form] Variable `var1` cannot be used as a type: Variable of type `Literal[1]` is not allowed in a parameter annotation annotations_forward_refs.py:50:11: error[invalid-type-form] Boolean literals are not allowed in this context in a parameter annotation: Did you mean `typing.Literal[True]`? annotations_forward_refs.py:51:11: error[invalid-type-form] Int literals are not allowed in this context in a parameter annotation: Did you mean `typing.Literal[1]`? annotations_forward_refs.py:52:11: error[invalid-type-form] Unary operations are not allowed in parameter annotations diff --git a/conformance/results/ty/annotations_typeexpr.toml b/conformance/results/ty/annotations_typeexpr.toml index 96d3d212d..0242d5dc9 100644 --- a/conformance/results/ty/annotations_typeexpr.toml +++ b/conformance/results/ty/annotations_typeexpr.toml @@ -10,7 +10,7 @@ annotations_typeexpr.py:92:9: error[invalid-type-form] Dict literals are not all annotations_typeexpr.py:93:9: error[invalid-type-form] Function calls are not allowed in parameter annotations annotations_typeexpr.py:94:9: error[invalid-type-form] Only simple names and dotted names can be subscripted in parameter annotations annotations_typeexpr.py:95:9: error[invalid-type-form] `if` expressions are not allowed in parameter annotations -annotations_typeexpr.py:96:9: error[invalid-type-form] Variable of type `Literal[3]` is not allowed in a parameter annotation +annotations_typeexpr.py:96:9: error[invalid-type-form] Variable `var1` cannot be used as a type: Variable of type `Literal[3]` is not allowed in a parameter annotation annotations_typeexpr.py:97:10: error[invalid-type-form] Boolean literals are not allowed in this context in a parameter annotation: Did you mean `typing.Literal[True]`? annotations_typeexpr.py:98:10: error[invalid-type-form] Int literals are not allowed in this context in a parameter annotation: Did you mean `typing.Literal[1]`? annotations_typeexpr.py:99:10: error[invalid-type-form] Unary operations are not allowed in parameter annotations diff --git a/conformance/results/ty/classes_classvar.toml b/conformance/results/ty/classes_classvar.toml index ff909e64b..253329806 100644 --- a/conformance/results/ty/classes_classvar.toml +++ b/conformance/results/ty/classes_classvar.toml @@ -16,7 +16,7 @@ classes_classvar.py:72:12: error[invalid-type-form] `ClassVar` is only allowed i classes_classvar.py:73:18: error[invalid-type-form] `ClassVar` annotations are not allowed for non-name targets classes_classvar.py:75:26: error[invalid-type-form] Type qualifier `typing.ClassVar` is not allowed in return type annotations classes_classvar.py:79:8: error[invalid-type-form] `ClassVar` is only allowed in class bodies -classes_classvar.py:80:20: error[invalid-type-form] Type qualifier `typing.ClassVar` is not allowed in type alias values +classes_classvar.py:80:20: error[invalid-type-form] Type qualifier `typing.ClassVar` is not allowed in type alias definitions classes_classvar.py:89:8: error[invalid-type-form] `ClassVar` is not allowed in TypedDict fields classes_classvar.py:94:5: error[invalid-named-tuple] Type qualifier `ClassVar` is not allowed on NamedTuple field `b` classes_classvar.py:127:1: error[invalid-attribute-access] Cannot assign to ClassVar `stats` from an instance of type `Starship` diff --git a/conformance/results/ty/generics_paramspec_basic.toml b/conformance/results/ty/generics_paramspec_basic.toml index 3c1f8ca1b..8f572fd57 100644 --- a/conformance/results/ty/generics_paramspec_basic.toml +++ b/conformance/results/ty/generics_paramspec_basic.toml @@ -3,7 +3,7 @@ errors_diff = """ """ output = """ generics_paramspec_basic.py:10:23: error[mismatched-type-name] The name passed to `ParamSpec` must match the variable it is assigned to: Expected "WrongName", got "NotIt" -generics_paramspec_basic.py:15:18: error[invalid-type-form] Bare ParamSpec `P` is not valid in this context in a type alias value +generics_paramspec_basic.py:15:18: error[invalid-type-form] Bare ParamSpec `P` is not valid in this context in a type alias definition generics_paramspec_basic.py:23:14: error[invalid-type-form] Bare ParamSpec `P` is not valid in this context in a parameter annotation generics_paramspec_basic.py:23:20: error[invalid-type-form] Bare ParamSpec `P` is not valid in this context in a return type annotation generics_paramspec_basic.py:27:14: error[invalid-type-form] `typing.Concatenate` is not allowed in this context in a parameter annotation diff --git a/conformance/results/ty/generics_syntax_declarations.toml b/conformance/results/ty/generics_syntax_declarations.toml index 39031dc2e..5d2978814 100644 --- a/conformance/results/ty/generics_syntax_declarations.toml +++ b/conformance/results/ty/generics_syntax_declarations.toml @@ -9,7 +9,7 @@ generics_syntax_declarations.py:44:21: error[invalid-type-variable-bound] TypeVa generics_syntax_declarations.py:48:17: error[invalid-type-form] List literals are not allowed in this context in a type expression generics_syntax_declarations.py:60:17: error[invalid-type-variable-constraints] TypeVar must have at least two constrained types generics_syntax_declarations.py:64:17: error[invalid-type-variable-constraints] TypeVar must have at least two constrained types -generics_syntax_declarations.py:71:17: error[invalid-type-form] Variable of type `tuple[, ]` is not allowed in a type expression +generics_syntax_declarations.py:71:17: error[invalid-type-form] Variable `t1` cannot be used as a type: Variable of type `tuple[, ]` is not allowed in a type expression generics_syntax_declarations.py:75:18: error[invalid-type-form] Int literals are not allowed in this context in a type expression: Did you mean `typing.Literal[3]`? generics_syntax_declarations.py:79:23: error[unresolved-reference] Name `S` used when not defined """ diff --git a/conformance/results/ty/typeforms_typeform.toml b/conformance/results/ty/typeforms_typeform.toml index 449d23e0e..129019af8 100644 --- a/conformance/results/ty/typeforms_typeform.toml +++ b/conformance/results/ty/typeforms_typeform.toml @@ -13,7 +13,7 @@ typeforms_typeform.py:71:18: error[invalid-type-form] Type qualifier `typing.Cla typeforms_typeform.py:72:18: error[invalid-type-form] Type qualifier `typing.Final` is not allowed in type expressions (only in annotation expressions) typeforms_typeform.py:73:18: error[invalid-type-form] `Unpack` is not allowed in type expressions typeforms_typeform.py:74:18: error[invalid-type-form] `typing.Optional` requires exactly one argument when used in a type expression -typeforms_typeform.py:75:19: error[invalid-type-form] Invalid binary operator `+` in type annotation +typeforms_typeform.py:75:19: error[invalid-type-form] Invalid binary operator `+` in a type expression typeforms_typeform.py:86:16: error[invalid-type-form] Function calls are not allowed in type expressions typeforms_typeform.py:88:15: error[invalid-type-form] Function calls are not allowed in type expressions typeforms_typeform.py:98:21: error[invalid-assignment] Object of type `TypeForm[int]` is not assignable to `TypeForm[str]` diff --git a/conformance/results/ty/version.toml b/conformance/results/ty/version.toml index 1c2f6523e..de28a49c9 100644 --- a/conformance/results/ty/version.toml +++ b/conformance/results/ty/version.toml @@ -1 +1 @@ -version = "ty 0.0.91" +version = "ty 0.0.93" diff --git a/conformance/uv.lock b/conformance/uv.lock index e39c6becf..2ad9ff23e 100644 --- a/conformance/uv.lock +++ b/conformance/uv.lock @@ -202,27 +202,27 @@ wheels = [ [[package]] name = "ty" -version = "0.0.91" +version = "0.0.93" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/08/c0/9e26817a5c94d504aab30bffbbf53f836f4763dd0a947089246ff555eebe/ty-0.0.91.tar.gz", hash = "sha256:b9c434cc1e3b106b6b9353b78ef304d5904c82cf440abcafef7134270a22b41a", size = 8035848, upload-time = "2026-10-22T18:24:52.086Z" } +sdist = { url = "https://files.pythonhosted.org/packages/78/35/e1cbce56e80f6d911b6b6821d211b4150d0e061d426df038cad78d2800f4/ty-0.0.93.tar.gz", hash = "sha256:18b99060d7f1d601fd4ce1acdcc336d1b3345fea8561307948827e8809c31c25", size = 8105272, upload-time = "2026-10-28T00:52:42.089Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/be/ad/0a850c1ca8e6e802e6b0f730f0d59c9769845b2fc956e3acd7f429b665f2/ty-0.0.91-py3-none-linux_armv6l.whl", hash = "sha256:5d39e6e485854838eb7fcdb747495f5b90283d58bce869c17445120fe0c7e40a", size = 14255787, upload-time = "2026-10-22T18:24:11.284Z" }, - { url = "https://files.pythonhosted.org/packages/33/87/9ccfa2d97b8b043e4d6fab10febc50ac7856b02cf7cd64910085db806bbe/ty-0.0.91-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:dcf953e25f90fbccf6cc27ef43fc4ef0961c89f54866e32cd1d7f24891b96084", size = 13822267, upload-time = "2026-10-22T18:24:14.31Z" }, - { url = "https://files.pythonhosted.org/packages/13/33/be8f62444c7840d1b0928c6d174540c0fe6b1b193ae9324c8249e8ed52b9/ty-0.0.91-py3-none-macosx_11_0_arm64.whl", hash = "sha256:78e3e66e88a9ae903afe0981ff9bd225d452ade2aeb070715842510dfcbf6de4", size = 12957620, upload-time = "2026-10-22T18:24:16.961Z" }, - { url = "https://files.pythonhosted.org/packages/31/9f/a742f273c065c4f5a054cc2b44076207136ff1cd346adfb23da38d8894d8/ty-0.0.91-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89ecaf87b3d7b508f9ea1ef8715d4cf47942719659028c92fad819d82a82ccfa", size = 13746018, upload-time = "2026-10-22T18:24:19.221Z" }, - { url = "https://files.pythonhosted.org/packages/5a/a0/3eecf8717cbe4e05d6e02b53679aebad79f1bfcff6c9c03d7601cb7df5f9/ty-0.0.91-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0ec8fe4243aab445abece38a2b8e9b3010230d5e6b3f4e15bfa811a914d99e73", size = 13993220, upload-time = "2026-10-22T18:24:21.328Z" }, - { url = "https://files.pythonhosted.org/packages/09/b0/fb3edee2857e97d85b6c735901469fd523cf6792382e4fbbb00b065c186c/ty-0.0.91-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:577701ec2a9cf7a50f6059069399b9437bb8af7a99df24012776e95d8a55831f", size = 14936911, upload-time = "2026-10-22T18:24:24.393Z" }, - { url = "https://files.pythonhosted.org/packages/b7/2c/82f29ee86f4171807af8ab2feaf4e51211143118a3e53e9da2c2e77eca7d/ty-0.0.91-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc683f49197d63ec47b2eaa9763ddb32dafb2a31190d938b9bb8ebecc5b25173", size = 15336384, upload-time = "2026-10-22T18:24:26.472Z" }, - { url = "https://files.pythonhosted.org/packages/0b/85/e2419b19577ead84b8afa9137c12eb4bde19f926423bfe01e615db12c52c/ty-0.0.91-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b8bb2784572fa22f77e417844936f6a9f831a6b0ba64749ca1065c407aefcd23", size = 15332319, upload-time = "2026-10-22T18:24:28.979Z" }, - { url = "https://files.pythonhosted.org/packages/83/06/dc28cea0796ee0268bf987d1d6f0f168605bec8898dbdbc7676049d2667b/ty-0.0.91-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f68bb6bfc8171910335a47c7e84070f28bbbc0326bcd6ef08fe3690d0509556b", size = 14600250, upload-time = "2026-10-22T18:24:31.359Z" }, - { url = "https://files.pythonhosted.org/packages/1e/71/83dd28e628698059ba6fe7081acafa7a8f65cfd90fe6573907ca8219d561/ty-0.0.91-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:63f268c80697d614d18e988476d2517177d66ec732ae104d86e57b60f197a416", size = 14812339, upload-time = "2026-10-22T18:24:33.689Z" }, - { url = "https://files.pythonhosted.org/packages/9d/5a/63c0eae2d5b02cef98a9b327b1a16b36287c140b3a7d2306ff7560177f9c/ty-0.0.91-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:b0f34630aa92e222d7754d66222d116f027025cb2b9ed66e1b4b73623de74e84", size = 13703060, upload-time = "2026-10-22T18:24:36.278Z" }, - { url = "https://files.pythonhosted.org/packages/47/ac/fd6d20d00202949d775043c5f70679f38d0e48ea30eeacbffaf6e0a9754e/ty-0.0.91-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:e62f8bbc17d481e01cce39bdfbe36beefda0478cb210e8045ef618d3f674a731", size = 14006236, upload-time = "2026-10-22T18:24:38.464Z" }, - { url = "https://files.pythonhosted.org/packages/fa/26/53dddd4f927dfaa73ea14cd71d97b4d92d685e365b5b037bac457e271403/ty-0.0.91-py3-none-musllinux_1_2_i686.whl", hash = "sha256:f8bf4514a383b13d7cf86eddb55f0eb9f356fc7efeae0de714ad4fe5fc54fee8", size = 14356612, upload-time = "2026-10-22T18:24:40.621Z" }, - { url = "https://files.pythonhosted.org/packages/89/40/ccebba145dd244b2f6058ce2e4a6ff34dea36d4a5b38dd7a6ae983b65a3b/ty-0.0.91-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:a6d93ab988c4c5ed92b52389b888d46ddede78e4646fe28db615bbeff89cdf82", size = 14674843, upload-time = "2026-10-22T18:24:43.325Z" }, - { url = "https://files.pythonhosted.org/packages/08/6f/8a7701adf1f539a893274358f12ba62773d5bb40920bfc53e0d852bfd576/ty-0.0.91-py3-none-win32.whl", hash = "sha256:b9f4bba8486a3d13babc11f8115369d0a0dc8bef127b7cf4f4c5eed9d4dbfa01", size = 13260545, upload-time = "2026-10-22T18:24:45.715Z" }, - { url = "https://files.pythonhosted.org/packages/fc/63/27c8051a72328ee81f47dace5e2c63e7db43bcae935db25a9dbd4d0e59b2/ty-0.0.91-py3-none-win_amd64.whl", hash = "sha256:5ac9eaf938e7fba4dd6c3358f852e6eb3127aa7bde0a76d9807c41f60ad73a29", size = 13759484, upload-time = "2026-10-22T18:24:48.111Z" }, - { url = "https://files.pythonhosted.org/packages/aa/a9/1f6c3694b7b33be4ae9a272f71a99a7dd27ec020c32a22049e9c0e79f576/ty-0.0.91-py3-none-win_arm64.whl", hash = "sha256:35820957639db1fb8c643273670967192c308038836005bdf3bfef111aff64a0", size = 13318343, upload-time = "2026-10-22T18:24:50.116Z" }, + { url = "https://files.pythonhosted.org/packages/4e/16/5b0766d3de2b531f47d6f24986f21607546b6ee1861d294ccec69a750b45/ty-0.0.93-py3-none-linux_armv6l.whl", hash = "sha256:74fad0e17d96076364be426b15ed3f052f068ec6e37b9d8dbf9c9c424fcb6f0d", size = 14510907, upload-time = "2026-10-28T00:52:04.298Z" }, + { url = "https://files.pythonhosted.org/packages/14/4a/ba4e9586f22b42f86e95c5f06798d30b288e1d6557b29c137384031c561c/ty-0.0.93-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:83beb545d52c38deb910d977679dcac1c274f5cf8ee0a1868b10d390042c40df", size = 14074052, upload-time = "2026-10-28T00:52:07.324Z" }, + { url = "https://files.pythonhosted.org/packages/ce/3c/00e4195634b61a6ec1f53a2c70777df644a3ee79f6579b48c4e2f6e884d0/ty-0.0.93-py3-none-macosx_11_0_arm64.whl", hash = "sha256:47d6be14343a997c6f828d812513f940929c906f6cf83ca4cdd74db6e16ef261", size = 13132684, upload-time = "2026-10-28T00:52:09.528Z" }, + { url = "https://files.pythonhosted.org/packages/3e/f4/36fb44a79e2d7c8b2d5f2c42cab6d2c1d4d0e8b9fb7e51acb82648fc4d3e/ty-0.0.93-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d696b82ade77500826d84874d46658020486daa9d39eabc71b94a641247ce484", size = 13955788, upload-time = "2026-10-28T00:52:11.478Z" }, + { url = "https://files.pythonhosted.org/packages/49/21/ae904789846d93e4b01faa33ef9a73f28657dd88b8b99619dbae05f30f1d/ty-0.0.93-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9882e7b55ee025feceaf8f1210acda368f931c3f597771385f97a460292a9c8b", size = 14252702, upload-time = "2026-10-28T00:52:13.466Z" }, + { url = "https://files.pythonhosted.org/packages/13/8e/fecf0492b20f1e28fafac944f5a6c7a404d8408f2e6fb0fb5666550f994f/ty-0.0.93-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:318871545c28f22564b445cadd022650e0fa892c913c0c1eb4cf6345d72037a2", size = 15192511, upload-time = "2026-10-28T00:52:15.923Z" }, + { url = "https://files.pythonhosted.org/packages/97/1f/67d3284747800456e96892d51df3fefc9f98b844653a86cfc6312902a490/ty-0.0.93-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f9c494291a7c83706b380e31606f88b6dcf801499623645861c3099c17edc01", size = 15594668, upload-time = "2026-10-28T00:52:18.133Z" }, + { url = "https://files.pythonhosted.org/packages/ed/1f/2a903b2309c8ea265a0cef1edc00fa9223be42d004171f7f87aded4b1bed/ty-0.0.93-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:43ff1ee239c94260cf2146e23537fb069b7267423723096603051bb7d36ce165", size = 15533756, upload-time = "2026-10-28T00:52:20.271Z" }, + { url = "https://files.pythonhosted.org/packages/dc/75/99bdbbd00220703c51af60160fb1c080f653b45ddb585baf8468588f70ef/ty-0.0.93-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c278c86adeb82374e0f5142b44bb628e9dcb663d98e8f274707300d926e0997", size = 16236455, upload-time = "2026-10-28T00:52:22.244Z" }, + { url = "https://files.pythonhosted.org/packages/ca/7d/edbcce5e504275b3574272629c2c7d657c666312fd5a74a5a3202f256e0a/ty-0.0.93-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:02c7cc6f1d9d2fe49eff5b230d243c696ac798ecce034998e3d67872ab2a5236", size = 15065832, upload-time = "2026-10-28T00:52:24.23Z" }, + { url = "https://files.pythonhosted.org/packages/e6/ce/201c42e84b49a8bb6473edfd3e16e311b942178cefd9678f98dda36f25a4/ty-0.0.93-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:50c580e31da3e4dd3f1b7ab1969497996ab55e61ee06d90132ab46a2964249ef", size = 13919356, upload-time = "2026-10-28T00:52:26.893Z" }, + { url = "https://files.pythonhosted.org/packages/68/5c/f323a70974bd57274d4315d1894586498557e21d4d78cd35b550deaf7878/ty-0.0.93-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:7f037c1761a6874cc0072c39950a987cd6d1563d6df3c94bb131b3e727e921c9", size = 14258573, upload-time = "2026-10-28T00:52:29.049Z" }, + { url = "https://files.pythonhosted.org/packages/c8/ba/0d2a2f0892d19c91cef7785ac1bac5de555059f1bad2a0009d83f2df1d0d/ty-0.0.93-py3-none-musllinux_1_2_i686.whl", hash = "sha256:a8bfbcc8a715a5497210cc89eb134476f511b2de3004697c96b5f6eaa0f1602b", size = 14613304, upload-time = "2026-10-28T00:52:31.474Z" }, + { url = "https://files.pythonhosted.org/packages/b8/02/b0f7b83ef79c85b8813e54ed73189995e3d4ec2f1dda791a8d0acd051386/ty-0.0.93-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:19ae7e56c9021d7eafbc305926ca174183b431c63c27e9d2b7db342d45142446", size = 14937750, upload-time = "2026-10-28T00:52:33.528Z" }, + { url = "https://files.pythonhosted.org/packages/06/ad/d2ece9e2ec588394d0ea0c12b683ff68540f5534988b4e4412664bb87a56/ty-0.0.93-py3-none-win32.whl", hash = "sha256:1c677be05fb0ef0864a305fa4a5258190fc0fc9d79f53c1ce93a0342256f21f1", size = 13464721, upload-time = "2026-10-28T00:52:35.916Z" }, + { url = "https://files.pythonhosted.org/packages/a9/17/ef0c1180498564f08331f4be35aea9de09b37c6ca12fa50ad1959d9d1e38/ty-0.0.93-py3-none-win_amd64.whl", hash = "sha256:65072e0a71f9af81a31a4656521c96eaf539452c37287b9e14a81504b22e0864", size = 14091561, upload-time = "2026-10-28T00:52:38.008Z" }, + { url = "https://files.pythonhosted.org/packages/ef/f8/13fb149c7c5a33be119ecea9c56033b32cc1f87c5ac84d577f2236b7c964/ty-0.0.93-py3-none-win_arm64.whl", hash = "sha256:47991915f6a2101cc63da1dd07b2f3bbd226ab4a14ff3c858b20764c38376166", size = 13552165, upload-time = "2026-10-28T00:52:40.111Z" }, ] [[package]]