diff --git a/conformance/pyproject.toml b/conformance/pyproject.toml index c2b42fa73..e433eadb7 100644 --- a/conformance/pyproject.toml +++ b/conformance/pyproject.toml @@ -7,7 +7,7 @@ dependencies = [ "markdown", "mypy", "pycroscope", - "pyrefly==1.3.0.dev1", + "pyrefly", "pyright", "tomlkit", "ty", diff --git a/conformance/results/mypy/callables_kwargs.toml b/conformance/results/mypy/callables_kwargs.toml index 0586ed15b..d34b72732 100644 --- a/conformance/results/mypy/callables_kwargs.toml +++ b/conformance/results/mypy/callables_kwargs.toml @@ -6,7 +6,7 @@ output = """ callables_kwargs.py:46: error: Missing named argument "v1" for "func1" [call-arg] callables_kwargs.py:46: error: Missing named argument "v3" for "func1" [call-arg] callables_kwargs.py:51: error: Unexpected keyword argument "v4" for "func1" [call-arg] -callables_kwargs.py:52: error: Too many positional arguments for "func1" [misc] +callables_kwargs.py:52: error: Too many positional arguments for "func1" [call-arg] callables_kwargs.py:58: error: Argument 1 to "func1" has incompatible type "**dict[str, str]"; expected "int" [arg-type] callables_kwargs.py:61: error: Argument 1 to "func1" has incompatible type "**dict[str, object]"; expected "int" [arg-type] callables_kwargs.py:61: error: Argument 1 to "func1" has incompatible type "**dict[str, object]"; expected "str" [arg-type] diff --git a/conformance/results/mypy/constructors_callable.toml b/conformance/results/mypy/constructors_callable.toml index edf923406..c477fd6b8 100644 --- a/conformance/results/mypy/constructors_callable.toml +++ b/conformance/results/mypy/constructors_callable.toml @@ -9,7 +9,6 @@ errors_diff = """ Line 129: Expected 1 errors Line 146: Expected 1 errors Line 74: Unexpected errors ['constructors_callable.py:74: error: Incompatible return type for "__new__" (returns "int", but must return a subtype of "Class4") [misc]'] -Line 80: Unexpected errors ['constructors_callable.py:80: error: Expression is of type "Class4", not "int" [assert-type]'] Line 102: Unexpected errors ['constructors_callable.py:102: error: Expression is of type "Class5", not "Never" [assert-type]'] Line 107: Unexpected errors ['constructors_callable.py:107: error: Expression is of type "Class5", not "Never" [assert-type]'] Line 118: Unexpected errors ['constructors_callable.py:118: error: Incompatible return type for "__new__" (returns "Class6Proxy", but must return a subtype of "Class6") [misc]'] @@ -27,8 +26,7 @@ constructors_callable.py:66: error: Too few arguments [call-arg] constructors_callable.py:67: error: Unexpected keyword argument "y" [call-arg] constructors_callable.py:68: error: Too many arguments [call-arg] constructors_callable.py:74: error: Incompatible return type for "__new__" (returns "int", but must return a subtype of "Class4") [misc] -constructors_callable.py:79: note: Revealed type is "def (x: int) -> constructors_callable.Class4" -constructors_callable.py:80: error: Expression is of type "Class4", not "int" [assert-type] +constructors_callable.py:79: note: Revealed type is "def (x: int) -> int" constructors_callable.py:81: error: Too few arguments [call-arg] constructors_callable.py:82: error: Unexpected keyword argument "y" [call-arg] constructors_callable.py:99: note: Revealed type is "def (*args: Any, **kwargs: Any) -> constructors_callable.Class5" diff --git a/conformance/results/mypy/dataclasses_kwonly.toml b/conformance/results/mypy/dataclasses_kwonly.toml index 9f83cef04..f0ac9ba4b 100644 --- a/conformance/results/mypy/dataclasses_kwonly.toml +++ b/conformance/results/mypy/dataclasses_kwonly.toml @@ -1,8 +1,8 @@ conformant = "Pass" output = """ -dataclasses_kwonly.py:23: error: Too many positional arguments for "DC1" [misc] -dataclasses_kwonly.py:38: error: Too many positional arguments for "DC2" [misc] -dataclasses_kwonly.py:53: error: Too many positional arguments for "DC3" [misc] +dataclasses_kwonly.py:23: error: Too many positional arguments for "DC1" [call-arg] +dataclasses_kwonly.py:38: error: Too many positional arguments for "DC2" [call-arg] +dataclasses_kwonly.py:53: error: Too many positional arguments for "DC3" [call-arg] """ conformance_automated = "Pass" errors_diff = """ diff --git a/conformance/results/mypy/dataclasses_transform_class.toml b/conformance/results/mypy/dataclasses_transform_class.toml index df9f2efd4..3c934ec91 100644 --- a/conformance/results/mypy/dataclasses_transform_class.toml +++ b/conformance/results/mypy/dataclasses_transform_class.toml @@ -2,9 +2,9 @@ conformant = "Pass" output = """ dataclasses_transform_class.py:51: error: Non-frozen dataclass cannot inherit from a frozen dataclass [misc] dataclasses_transform_class.py:63: error: Property "id" defined in "Customer1" is read-only [misc] -dataclasses_transform_class.py:66: error: Too many positional arguments for "Customer1" [misc] +dataclasses_transform_class.py:66: error: Too many positional arguments for "Customer1" [call-arg] dataclasses_transform_class.py:72: error: Unsupported left operand type for < ("Customer1") [operator] -dataclasses_transform_class.py:82: error: Too many positional arguments for "Customer2" [misc] +dataclasses_transform_class.py:82: error: Too many positional arguments for "Customer2" [call-arg] dataclasses_transform_class.py:122: error: Property "id" defined in "Customer3" is read-only [misc] """ conformance_automated = "Pass" diff --git a/conformance/results/mypy/dataclasses_transform_field.toml b/conformance/results/mypy/dataclasses_transform_field.toml index bcc6b6069..6743d00f5 100644 --- a/conformance/results/mypy/dataclasses_transform_field.toml +++ b/conformance/results/mypy/dataclasses_transform_field.toml @@ -4,7 +4,7 @@ Does not properly handle field constructor that has default value for `kw_only` """ output = """ dataclasses_transform_field.py:64: error: Unexpected keyword argument "id" for "CustomerModel1" [call-arg] -dataclasses_transform_field.py:75: error: Too many positional arguments for "CustomerModel2" [misc] +dataclasses_transform_field.py:75: error: Too many positional arguments for "CustomerModel2" [call-arg] dataclasses_transform_field.py:75: error: Missing named argument "name" for "CustomerModel2" [call-arg] dataclasses_transform_field.py:77: error: Missing named argument "id" for "CustomerModel2" [call-arg] """ diff --git a/conformance/results/mypy/dataclasses_transform_func.toml b/conformance/results/mypy/dataclasses_transform_func.toml index 5861a2808..46ba5c856 100644 --- a/conformance/results/mypy/dataclasses_transform_func.toml +++ b/conformance/results/mypy/dataclasses_transform_func.toml @@ -4,15 +4,15 @@ Does not handle `kw_only=False` override when `kw_only_default=True`. Does not report error when `order=False` and comparison operators are used. """ output = """ -dataclasses_transform_func.py:52: error: Too many positional arguments for "Customer1" [misc] +dataclasses_transform_func.py:52: error: Too many positional arguments for "Customer1" [call-arg] dataclasses_transform_func.py:56: error: Incompatible types in assignment (expression has type "int", variable has type "str") [assignment] dataclasses_transform_func.py:64: error: Unexpected keyword argument "salary" for "Customer1" [call-arg] -dataclasses_transform_func.py:70: error: Too many positional arguments for "Customer2" [misc] +dataclasses_transform_func.py:70: error: Too many positional arguments for "Customer2" [call-arg] dataclasses_transform_func.py:89: error: Non-frozen dataclass cannot inherit from a frozen dataclass [misc] dataclasses_transform_func.py:96: error: Property "id" defined in "Customer3" is read-only [misc] """ conformance_automated = "Fail" errors_diff = """ Line 60: Expected 1 errors -Line 52: Unexpected errors ['dataclasses_transform_func.py:52: error: Too many positional arguments for "Customer1" [misc]'] +Line 52: Unexpected errors ['dataclasses_transform_func.py:52: error: Too many positional arguments for "Customer1" [call-arg]'] """ diff --git a/conformance/results/mypy/dataclasses_transform_meta.toml b/conformance/results/mypy/dataclasses_transform_meta.toml index 89585d64a..92bcd1a3d 100644 --- a/conformance/results/mypy/dataclasses_transform_meta.toml +++ b/conformance/results/mypy/dataclasses_transform_meta.toml @@ -2,9 +2,9 @@ conformant = "Pass" output = """ dataclasses_transform_meta.py:51: error: Non-frozen dataclass cannot inherit from a frozen dataclass [misc] dataclasses_transform_meta.py:63: error: Property "id" defined in "Customer1" is read-only [misc] -dataclasses_transform_meta.py:66: error: Too many positional arguments for "Customer1" [misc] +dataclasses_transform_meta.py:66: error: Too many positional arguments for "Customer1" [call-arg] dataclasses_transform_meta.py:73: error: Unsupported left operand type for < ("Customer1") [operator] -dataclasses_transform_meta.py:83: error: Too many positional arguments for "Customer2" [misc] +dataclasses_transform_meta.py:83: error: Too many positional arguments for "Customer2" [call-arg] dataclasses_transform_meta.py:103: error: Property "id" defined in "Customer3" is read-only [misc] """ conformance_automated = "Pass" diff --git a/conformance/results/mypy/directives_type_ignore.toml b/conformance/results/mypy/directives_type_ignore.toml index 576b2b0d9..1da66fa93 100644 --- a/conformance/results/mypy/directives_type_ignore.toml +++ b/conformance/results/mypy/directives_type_ignore.toml @@ -3,12 +3,12 @@ notes = """ Does not honor `# type: ignore` comment if comment includes additional text. """ output = """ -directives_type_ignore.py:11: error: Invalid "type: ignore" comment [syntax] directives_type_ignore.py:11: error: Incompatible types in assignment (expression has type "str", variable has type "int") [assignment] +directives_type_ignore.py:11: error: Invalid "type: ignore" comment [syntax] directives_type_ignore.py:16: error: Incompatible types in assignment (expression has type "str", variable has type "int") [assignment] directives_type_ignore.py:16: note: Error code "assignment" not covered by "type: ignore[an-empty-str-is-not-an-int]" comment """ conformance_automated = "Fail" errors_diff = """ -Line 11: Unexpected errors ['directives_type_ignore.py:11: error: Invalid "type: ignore" comment [syntax]', 'directives_type_ignore.py:11: error: Incompatible types in assignment (expression has type "str", variable has type "int") [assignment]'] +Line 11: Unexpected errors ['directives_type_ignore.py:11: error: Incompatible types in assignment (expression has type "str", variable has type "int") [assignment]', 'directives_type_ignore.py:11: error: Invalid "type: ignore" comment [syntax]'] """ diff --git a/conformance/results/mypy/generics_defaults.toml b/conformance/results/mypy/generics_defaults.toml index ce9174469..d396b7545 100644 --- a/conformance/results/mypy/generics_defaults.toml +++ b/conformance/results/mypy/generics_defaults.toml @@ -6,18 +6,16 @@ Does not fully support defaults on `TypeVarTuple` and `ParamSpec`. output = """ generics_defaults.py:24: error: "T" cannot appear after "DefaultStrT" in type parameter list because it has no default type [misc] generics_defaults.py:66: error: "AllTheDefaults" expects between 2 and 5 type arguments, but 1 given [type-arg] -generics_defaults.py:139: error: Expression is of type "tuple[*tuple[str, int], ...]", not "tuple[str, int]" [assert-type] generics_defaults.py:152: error: TypeVar default must be a subtype of the bound type [misc] generics_defaults.py:159: error: TypeVar default must be one of the constraint types [misc] generics_defaults.py:177: error: Expression is of type "int", not "Any" [assert-type] +generics_defaults.py:188: error: A type variable with default cannot follow TypeVarTuple [type-var] generics_defaults.py:203: error: Can only replace ParamSpec with a parameter types list or another ParamSpec, got "str" [valid-type] generics_defaults.py:204: error: Expression is of type "tuple[Any, ...]", not "tuple[int, str]" [assert-type] generics_defaults.py:205: error: Expression is of type "def (*Any, **Any) -> None", not "Callable[[float, bool], None]" [assert-type] """ conformance_automated = "Fail" errors_diff = """ -Line 188: Expected 1 errors -Line 139: Unexpected errors ['generics_defaults.py:139: error: Expression is of type "tuple[*tuple[str, int], ...]", not "tuple[str, int]" [assert-type]'] Line 203: Unexpected errors ['generics_defaults.py:203: error: Can only replace ParamSpec with a parameter types list or another ParamSpec, got "str" [valid-type]'] Line 204: Unexpected errors ['generics_defaults.py:204: error: Expression is of type "tuple[Any, ...]", not "tuple[int, str]" [assert-type]'] Line 205: Unexpected errors ['generics_defaults.py:205: error: Expression is of type "def (*Any, **Any) -> None", not "Callable[[float, bool], None]" [assert-type]'] diff --git a/conformance/results/mypy/generics_defaults_referential.toml b/conformance/results/mypy/generics_defaults_referential.toml index 111df437e..af8f6eb74 100644 --- a/conformance/results/mypy/generics_defaults_referential.toml +++ b/conformance/results/mypy/generics_defaults_referential.toml @@ -3,18 +3,16 @@ notes = """ Does not correctly handle defaults referencing other `TypeVar`s. """ output = """ +generics_defaults_referential.py:36: error: Argument 2 to "Foo" has incompatible type "str"; expected "int" [arg-type] generics_defaults_referential.py:37: error: Argument 1 to "Foo" has incompatible type "str"; expected "int" [arg-type] generics_defaults_referential.py:53: error: Type parameter "Start2T" has a default type that refers to one or more type variables that are out of scope [misc] -generics_defaults_referential.py:60: error: Type variable S1 referenced in the default of S2 is unbound [misc] +generics_defaults_referential.py:60: error: Type parameter "S2" has a default type that refers to one or more type variables that are out of scope [misc] generics_defaults_referential.py:74: error: TypeVar default must be one of the constraint types [misc] generics_defaults_referential.py:77: error: TypeVar default must be one of the constraint types [misc] generics_defaults_referential.py:78: error: TypeVar default must be one of the constraint types [misc] -generics_defaults_referential.py:103: error: Expression is of type "Bar[int, list[Never]]", not "Bar[int, list[int]]" [assert-type] """ conformance_automated = "Fail" errors_diff = """ -Line 36: Expected 1 errors Line 68: Expected 1 errors Line 77: Unexpected errors ['generics_defaults_referential.py:77: error: TypeVar default must be one of the constraint types [misc]'] -Line 103: Unexpected errors ['generics_defaults_referential.py:103: error: Expression is of type "Bar[int, list[Never]]", not "Bar[int, list[int]]" [assert-type]'] """ diff --git a/conformance/results/mypy/generics_syntax_declarations.toml b/conformance/results/mypy/generics_syntax_declarations.toml index 66d51c931..d49de6a11 100644 --- a/conformance/results/mypy/generics_syntax_declarations.toml +++ b/conformance/results/mypy/generics_syntax_declarations.toml @@ -1,17 +1,20 @@ -conformant = "Pass" +conformant = "Partial" +notes = """ +Doesn't flag TypeVar with empty constraints. +""" output = """ generics_syntax_declarations.py:17: error: Generic[...] base class is redundant [misc] generics_syntax_declarations.py:25: error: No arguments expected for "Protocol" base class [misc] generics_syntax_declarations.py:32: error: "T" has no attribute "is_integer" [attr-defined] generics_syntax_declarations.py:44: error: Name "V" is not defined [name-defined] generics_syntax_declarations.py:48: error: Bracketed expression "[...]" is not valid as a type [valid-type] -generics_syntax_declarations.py:60: error: Type variable must have at least two constrained types [misc] generics_syntax_declarations.py:64: error: Type variable must have at least two constrained types [misc] generics_syntax_declarations.py:71: error: Variable "generics_syntax_declarations.t1" is not valid as a type [valid-type] generics_syntax_declarations.py:71: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases generics_syntax_declarations.py:75: error: Invalid type: try using Literal[3] instead? [valid-type] generics_syntax_declarations.py:79: error: Name "S" is not defined [name-defined] """ -conformance_automated = "Pass" +conformance_automated = "Fail" errors_diff = """ +Line 60: Expected 1 errors """ diff --git a/conformance/results/mypy/generics_typevartuple_specialization.toml b/conformance/results/mypy/generics_typevartuple_specialization.toml index 280f9266d..dacfd5951 100644 --- a/conformance/results/mypy/generics_typevartuple_specialization.toml +++ b/conformance/results/mypy/generics_typevartuple_specialization.toml @@ -4,7 +4,6 @@ Incorrectly specializes generic alias that includes a `TypeVar` and `TypeVarTupl Rejects specialization of generic type alias defined as a tuple containing a `TypeVar`. """ output = """ -generics_typevartuple_specialization.py:85: error: Argument 1 to "takes_float_array_with_specific_shape" has incompatible type "Array2[float, *tuple[Any, ...]]"; expected "Array2[float, Height, Width]" [arg-type] generics_typevartuple_specialization.py:108: error: Type application is only supported for generic classes [misc] generics_typevartuple_specialization.py:109: error: Type application is only supported for generic classes [misc] generics_typevartuple_specialization.py:109: error: Unpack is only valid in a variadic position [valid-type] @@ -17,6 +16,5 @@ generics_typevartuple_specialization.py:163: error: TypeVarTuple cannot be split """ conformance_automated = "Fail" errors_diff = """ -Line 85: Unexpected errors ['generics_typevartuple_specialization.py:85: error: Argument 1 to "takes_float_array_with_specific_shape" has incompatible type "Array2[float, *tuple[Any, ...]]"; expected "Array2[float, Height, Width]" [arg-type]'] Line 108: Unexpected errors ['generics_typevartuple_specialization.py:108: error: Type application is only supported for generic classes [misc]'] """ diff --git a/conformance/results/mypy/historical_positional.toml b/conformance/results/mypy/historical_positional.toml index 1338644ef..7bd5cc052 100644 --- a/conformance/results/mypy/historical_positional.toml +++ b/conformance/results/mypy/historical_positional.toml @@ -6,7 +6,6 @@ Applies legacy positional-only rules when PEP 570 syntax is used. """ output = """ historical_positional.py:18: error: Unexpected keyword argument "__x" for "f1" [call-arg] -historical_positional.py:48: error: Unexpected keyword argument "__y" for "f3" [call-arg] historical_positional.py:59: error: Unexpected keyword argument "__x" for "m1" of "A" [call-arg] historical_positional.py:69: error: Unexpected keyword argument "__y" for "f4" [call-arg] """ @@ -14,6 +13,5 @@ conformance_automated = "Fail" errors_diff = """ Line 26: Expected 1 errors Line 54: Expected 1 errors -Line 48: Unexpected errors ['historical_positional.py:48: error: Unexpected keyword argument "__y" for "f3" [call-arg]'] Line 69: Unexpected errors ['historical_positional.py:69: error: Unexpected keyword argument "__y" for "f4" [call-arg]'] """ diff --git a/conformance/results/mypy/literals_parameterizations.toml b/conformance/results/mypy/literals_parameterizations.toml index eac516519..3dfc58304 100644 --- a/conformance/results/mypy/literals_parameterizations.toml +++ b/conformance/results/mypy/literals_parameterizations.toml @@ -12,7 +12,7 @@ literals_parameterizations.py:47: error: Parameter 1 of Literal[...] is invalid literals_parameterizations.py:48: error: Parameter 1 of Literal[...] is invalid [valid-type] literals_parameterizations.py:49: error: Parameter 1 of Literal[...] is invalid [valid-type] literals_parameterizations.py:50: error: Parameter 1 of Literal[...] is invalid [valid-type] -literals_parameterizations.py:51: error: Parameter 1 of Literal[...] cannot be of type "float" [valid-type] +literals_parameterizations.py:51: error: Invalid type: Literal[...] cannot contain arbitrary expressions [valid-type] literals_parameterizations.py:52: error: Parameter 1 of Literal[...] cannot be of type "Any" [valid-type] literals_parameterizations.py:53: error: Parameter 1 of Literal[...] is invalid [valid-type] literals_parameterizations.py:56: error: Invalid type: Literal[...] cannot contain arbitrary expressions [valid-type] diff --git a/conformance/results/mypy/specialtypes_sentinels.toml b/conformance/results/mypy/specialtypes_sentinels.toml index 1ff31a1c9..ef78a42a8 100644 --- a/conformance/results/mypy/specialtypes_sentinels.toml +++ b/conformance/results/mypy/specialtypes_sentinels.toml @@ -1,27 +1,8 @@ -conformant = "Unsupported" -conformance_automated = "Fail" +conformance_automated = "Pass" errors_diff = """ -Line 36: Expected 1 errors -Line 39: Expected 1 errors -Line 20: Unexpected errors ['specialtypes_sentinels.py:20: error: Variable "specialtypes_sentinels.MISSING" is not valid as a type [valid-type]', 'specialtypes_sentinels.py:20: error: Variable "specialtypes_sentinels.SPECIAL" is not valid as a type [valid-type]'] -Line 22: Unexpected errors ['specialtypes_sentinels.py:22: error: Expression is of type "Any", not MISSING? [assert-type]', 'specialtypes_sentinels.py:22: error: Variable "specialtypes_sentinels.MISSING" is not valid as a type [valid-type]'] -Line 24: Unexpected errors ['specialtypes_sentinels.py:24: error: Variable "specialtypes_sentinels.SPECIAL" is not valid as a type [valid-type]'] -Line 26: Unexpected errors ['specialtypes_sentinels.py:26: error: Variable "specialtypes_sentinels.Cls.IN_CLASS" is not valid as a type [valid-type]'] -Line 28: Unexpected errors ['specialtypes_sentinels.py:28: error: Expression is of type "Any", not Cls.IN_CLASS? [assert-type]', 'specialtypes_sentinels.py:28: error: Variable "specialtypes_sentinels.Cls.IN_CLASS" is not valid as a type [valid-type]'] """ output = """ -specialtypes_sentinels.py:14: error: Incompatible default for parameter "x" (default has type "Sentinel", parameter has type "int") [assignment] -specialtypes_sentinels.py:20: error: Variable "specialtypes_sentinels.MISSING" is not valid as a type [valid-type] -specialtypes_sentinels.py:20: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases -specialtypes_sentinels.py:20: error: Variable "specialtypes_sentinels.SPECIAL" is not valid as a type [valid-type] -specialtypes_sentinels.py:22: error: Expression is of type "Any", not MISSING? [assert-type] -specialtypes_sentinels.py:22: error: Variable "specialtypes_sentinels.MISSING" is not valid as a type [valid-type] -specialtypes_sentinels.py:22: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases -specialtypes_sentinels.py:24: error: Variable "specialtypes_sentinels.SPECIAL" is not valid as a type [valid-type] -specialtypes_sentinels.py:24: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases -specialtypes_sentinels.py:26: error: Variable "specialtypes_sentinels.Cls.IN_CLASS" is not valid as a type [valid-type] -specialtypes_sentinels.py:26: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases -specialtypes_sentinels.py:28: error: Expression is of type "Any", not Cls.IN_CLASS? [assert-type] -specialtypes_sentinels.py:28: error: Variable "specialtypes_sentinels.Cls.IN_CLASS" is not valid as a type [valid-type] -specialtypes_sentinels.py:28: note: See https://mypy.readthedocs.io/en/stable/common_issues.html#variables-vs-type-aliases +specialtypes_sentinels.py:14: error: Incompatible default for parameter "x" (default has type "MISSING", parameter has type "int") [assignment] +specialtypes_sentinels.py:36: error: Argument 1 to "func2" has incompatible type "Cls.IN_CLASS"; expected "int | MISSING | SPECIAL" [arg-type] +specialtypes_sentinels.py:39: error: Argument 1 to "func3" has incompatible type "MISSING"; expected "int | Cls.IN_CLASS" [arg-type] """ diff --git a/conformance/results/mypy/typeddicts_alt_syntax.toml b/conformance/results/mypy/typeddicts_alt_syntax.toml index 2d1177efa..197eba532 100644 --- a/conformance/results/mypy/typeddicts_alt_syntax.toml +++ b/conformance/results/mypy/typeddicts_alt_syntax.toml @@ -6,7 +6,7 @@ output = """ typeddicts_alt_syntax.py:23: error: TypedDict() expects a dictionary literal as the second argument [misc] typeddicts_alt_syntax.py:27: error: Invalid TypedDict() field name [misc] typeddicts_alt_syntax.py:31: error: First argument "WrongName" to TypedDict() does not match variable name "BadTypedDict3" [name-match] -typeddicts_alt_syntax.py:35: error: Too many arguments for TypedDict() [misc] +typeddicts_alt_syntax.py:35: error: Unexpected keyword argument "other" for "TypedDict" [misc] typeddicts_alt_syntax.py:41: error: Unexpected arguments to TypedDict() [misc] typeddicts_alt_syntax.py:44: error: Extra keys ("name", "year") for TypedDict "Movie2" [typeddict-unknown-key] typeddicts_alt_syntax.py:45: error: Extra keys ("name", "year") for TypedDict "Movie2" [typeddict-unknown-key] diff --git a/conformance/results/mypy/typeddicts_extra_items.toml b/conformance/results/mypy/typeddicts_extra_items.toml index 0938d870e..3853be1bd 100644 --- a/conformance/results/mypy/typeddicts_extra_items.toml +++ b/conformance/results/mypy/typeddicts_extra_items.toml @@ -1,14 +1,14 @@ conformant = "Unsupported" conformance_automated = "Fail" errors_diff = """ +Line 73: Expected 1 errors +Line 109: Expected 1 errors Line 215: Expected 1 errors Line 222: Expected 1 errors Line 242: Expected 1 errors Line 256: Expected 1 errors Line 257: Expected 1 errors Line 268: Expected 1 errors -Lines 91, 92: Expected error (tag 'MovieC') -Lines 94, 95: Expected error (tag 'MovieD') Lines 184, 185: Expected error (tag 'MovieRequiredYear') Lines 187, 188: Expected error (tag 'MovieNotRequiredYear') Lines 196, 197: Expected error (tag 'BookWithPublisher') @@ -19,13 +19,8 @@ Line 21: Unexpected errors ['typeddicts_extra_items.py:21: error: Extra keys ("n Line 29: Unexpected errors ['typeddicts_extra_items.py:29: error: Expression is of type "Any", not "bool" [assert-type]', 'typeddicts_extra_items.py:29: error: TypedDict "Movie" has no key "novel_adaptation" [typeddict-item]'] Line 33: Unexpected errors ['typeddicts_extra_items.py:33: error: Unexpected keyword argument "extra_items" for "__init_subclass__" of "TypedDict" [call-arg]'] Line 40: Unexpected errors ['typeddicts_extra_items.py:40: error: Extra key "other_extra_key" for TypedDict "InheritedMovie" [typeddict-unknown-key]'] -Line 55: Unexpected errors ['typeddicts_extra_items.py:55: error: Unexpected keyword argument "closed" for "__init_subclass__" of "TypedDict" [call-arg]'] -Line 64: Unexpected errors ['typeddicts_extra_items.py:64: error: Unexpected keyword argument "closed" for "__init_subclass__" of "TypedDict" [call-arg]'] Line 70: Unexpected errors ['typeddicts_extra_items.py:70: error: Unexpected keyword argument "extra_items" for "__init_subclass__" of "TypedDict" [call-arg]'] -Line 82: Unexpected errors ['typeddicts_extra_items.py:82: error: Unexpected keyword argument "closed" for "__init_subclass__" of "TypedDict" [call-arg]'] -Line 88: Unexpected errors ['typeddicts_extra_items.py:88: error: Unexpected keyword argument "closed" for "__init_subclass__" of "TypedDict" [call-arg]'] Line 100: Unexpected errors ['typeddicts_extra_items.py:100: error: Unexpected keyword argument "extra_items" for "__init_subclass__" of "TypedDict" [call-arg]'] -Line 103: Unexpected errors ['typeddicts_extra_items.py:103: error: Unexpected keyword argument "closed" for "__init_subclass__" of "TypedDict" [call-arg]'] Line 106: Unexpected errors ['typeddicts_extra_items.py:106: error: Unexpected keyword argument "extra_items" for "__init_subclass__" of "TypedDict" [call-arg]'] Line 124: Unexpected errors ['typeddicts_extra_items.py:124: error: Unexpected keyword argument "extra_items" for "__init_subclass__" of "TypedDict" [call-arg]'] Line 129: Unexpected errors ['typeddicts_extra_items.py:129: error: TypedDict "MovieEI" has no key "year" [typeddict-item]'] @@ -50,7 +45,6 @@ Line 255: Unexpected errors ['typeddicts_extra_items.py:255: error: Extra key "d Line 266: Unexpected errors ['typeddicts_extra_items.py:266: error: Extra key "year" for TypedDict "MovieExtraInt" [typeddict-unknown-key]'] Line 280: Unexpected errors ['typeddicts_extra_items.py:280: error: Unexpected keyword argument "extra_items" for "__init_subclass__" of "TypedDict" [call-arg]'] Line 284: Unexpected errors ['typeddicts_extra_items.py:284: error: Extra key "year" for TypedDict "ExtraMovie" [typeddict-unknown-key]'] -Line 289: Unexpected errors ['typeddicts_extra_items.py:289: error: Unexpected keyword argument "closed" for "__init_subclass__" of "TypedDict" [call-arg]'] Line 299: Unexpected errors ['typeddicts_extra_items.py:299: error: Extra key "summary" for TypedDict "MovieExtraStr" [typeddict-unknown-key]'] Line 300: Unexpected errors ['typeddicts_extra_items.py:300: error: Incompatible types in assignment (expression has type "MovieExtraStr", variable has type "Mapping[str, str]") [assignment]'] Line 302: Unexpected errors ['typeddicts_extra_items.py:302: error: Extra key "year" for TypedDict "MovieExtraInt" [typeddict-unknown-key]'] @@ -78,18 +72,13 @@ typeddicts_extra_items.py:29: error: TypedDict "Movie" has no key "novel_adaptat typeddicts_extra_items.py:33: error: Unexpected keyword argument "extra_items" for "__init_subclass__" of "TypedDict" [call-arg] typeddicts_extra_items.py:39: error: Incompatible types (expression has type "None", TypedDict item "year" has type "int") [typeddict-item] typeddicts_extra_items.py:40: error: Extra key "other_extra_key" for TypedDict "InheritedMovie" [typeddict-unknown-key] -typeddicts_extra_items.py:49: error: Unexpected keyword argument "closed" for "__init_subclass__" of "TypedDict" [call-arg] -typeddicts_extra_items.py:55: error: Unexpected keyword argument "closed" for "__init_subclass__" of "TypedDict" [call-arg] -typeddicts_extra_items.py:64: error: Unexpected keyword argument "closed" for "__init_subclass__" of "TypedDict" [call-arg] -typeddicts_extra_items.py:67: error: Unexpected keyword argument "closed" for "__init_subclass__" of "TypedDict" [call-arg] +typeddicts_extra_items.py:49: error: "closed" argument must be a True or False literal [literal-required] +typeddicts_extra_items.py:67: error: Open TypedDict class cannot subclass closed TypedDict class "ClosedBase" [misc] typeddicts_extra_items.py:70: error: Unexpected keyword argument "extra_items" for "__init_subclass__" of "TypedDict" [call-arg] -typeddicts_extra_items.py:73: error: Unexpected keyword argument "closed" for "__init_subclass__" of "TypedDict" [call-arg] -typeddicts_extra_items.py:82: error: Unexpected keyword argument "closed" for "__init_subclass__" of "TypedDict" [call-arg] -typeddicts_extra_items.py:88: error: Unexpected keyword argument "closed" for "__init_subclass__" of "TypedDict" [call-arg] +typeddicts_extra_items.py:92: error: Cannot extend closed base class "MovieA" with new field "age" [misc] +typeddicts_extra_items.py:95: error: Cannot extend closed base class "MovieB" with new field "age" [misc] typeddicts_extra_items.py:100: error: Unexpected keyword argument "extra_items" for "__init_subclass__" of "TypedDict" [call-arg] -typeddicts_extra_items.py:103: error: Unexpected keyword argument "closed" for "__init_subclass__" of "TypedDict" [call-arg] typeddicts_extra_items.py:106: error: Unexpected keyword argument "extra_items" for "__init_subclass__" of "TypedDict" [call-arg] -typeddicts_extra_items.py:109: error: Unexpected keyword argument "closed" for "__init_subclass__" of "TypedDict" [call-arg] typeddicts_extra_items.py:114: error: Unexpected keyword argument "extra_items" for "__init_subclass__" of "TypedDict" [call-arg] typeddicts_extra_items.py:117: error: Unexpected keyword argument "extra_items" for "__init_subclass__" of "TypedDict" [call-arg] typeddicts_extra_items.py:124: error: Unexpected keyword argument "extra_items" for "__init_subclass__" of "TypedDict" [call-arg] @@ -120,7 +109,6 @@ typeddicts_extra_items.py:278: error: Extra key "year" for TypedDict "NonClosedM typeddicts_extra_items.py:280: error: Unexpected keyword argument "extra_items" for "__init_subclass__" of "TypedDict" [call-arg] typeddicts_extra_items.py:284: error: Extra key "year" for TypedDict "ExtraMovie" [typeddict-unknown-key] typeddicts_extra_items.py:285: error: Extra key "language" for TypedDict "ExtraMovie" [typeddict-unknown-key] -typeddicts_extra_items.py:289: error: Unexpected keyword argument "closed" for "__init_subclass__" of "TypedDict" [call-arg] typeddicts_extra_items.py:293: error: Extra key "year" for TypedDict "ClosedMovie" [typeddict-unknown-key] typeddicts_extra_items.py:299: error: Extra key "summary" for TypedDict "MovieExtraStr" [typeddict-unknown-key] typeddicts_extra_items.py:300: error: Incompatible types in assignment (expression has type "MovieExtraStr", variable has type "Mapping[str, str]") [assignment] diff --git a/conformance/results/mypy/typeddicts_inheritance.toml b/conformance/results/mypy/typeddicts_inheritance.toml index 6679cb131..5f89a8c40 100644 --- a/conformance/results/mypy/typeddicts_inheritance.toml +++ b/conformance/results/mypy/typeddicts_inheritance.toml @@ -1,8 +1,8 @@ conformant = "Pass" output = """ typeddicts_inheritance.py:44: error: All bases of a new TypedDict must be TypedDict types [misc] -typeddicts_inheritance.py:55: error: Overwriting TypedDict field "x" while extending [misc] -typeddicts_inheritance.py:65: error: Overwriting TypedDict field "x" while merging [misc] +typeddicts_inheritance.py:55: error: Definition of field "x" incompatible with base class "X1" [misc] +typeddicts_inheritance.py:65: error: Incompatible definitions of field "x" in base classes "Y2" and "X2" [misc] """ conformance_automated = "Pass" errors_diff = """ diff --git a/conformance/results/mypy/typeddicts_readonly_inheritance.toml b/conformance/results/mypy/typeddicts_readonly_inheritance.toml index 4bd44ff08..4db3223e6 100644 --- a/conformance/results/mypy/typeddicts_readonly_inheritance.toml +++ b/conformance/results/mypy/typeddicts_readonly_inheritance.toml @@ -5,35 +5,18 @@ Incorrectly rejects override of `ReadOnly` item with another `ReadOnly` item wit Incorrectly rejects override of `NotRequired ReadOnly` item with a `Required ReadOnly` item. """ output = """ -typeddicts_readonly_inheritance.py:19: error: Overwriting TypedDict field "name" while extending [misc] -typeddicts_readonly_inheritance.py:25: error: ReadOnly TypedDict key "name" TypedDict is mutated [typeddict-readonly-mutated] typeddicts_readonly_inheritance.py:36: error: ReadOnly TypedDict key "name" TypedDict is mutated [typeddict-readonly-mutated] -typeddicts_readonly_inheritance.py:49: error: Overwriting TypedDict field "albums" while extending [misc] -typeddicts_readonly_inheritance.py:50: error: Overwriting TypedDict field "alt" while extending [misc] -typeddicts_readonly_inheritance.py:62: error: Overwriting TypedDict field "name" while extending [misc] +typeddicts_readonly_inheritance.py:50: error: Definition of field "alt" incompatible with base class "AlbumCollection" [misc] typeddicts_readonly_inheritance.py:65: error: Missing key "name" for TypedDict "RequiredName" [typeddict-item] -typeddicts_readonly_inheritance.py:76: error: Overwriting TypedDict field "ident" while extending [misc] -typeddicts_readonly_inheritance.py:81: error: ReadOnly TypedDict key "ident" TypedDict is mutated [typeddict-readonly-mutated] -typeddicts_readonly_inheritance.py:82: error: ReadOnly TypedDict key "ident" TypedDict is mutated [typeddict-readonly-mutated] typeddicts_readonly_inheritance.py:82: error: Value of "ident" has incompatible type "int"; expected "str" [typeddict-item] typeddicts_readonly_inheritance.py:83: error: Incompatible types (expression has type "int", TypedDict item "ident" has type "str") [typeddict-item] typeddicts_readonly_inheritance.py:84: error: Missing key "ident" for TypedDict "User" [typeddict-item] -typeddicts_readonly_inheritance.py:94: error: Overwriting TypedDict field "a" while extending [misc] -typeddicts_readonly_inheritance.py:98: error: Overwriting TypedDict field "a" while extending [misc] -typeddicts_readonly_inheritance.py:102: error: Overwriting TypedDict field "b" while extending [misc] -typeddicts_readonly_inheritance.py:106: error: Overwriting TypedDict field "c" while extending [misc] -typeddicts_readonly_inheritance.py:119: error: Overwriting TypedDict field "x" while merging [misc] -typeddicts_readonly_inheritance.py:119: error: Overwriting TypedDict field "y" while merging [misc] -typeddicts_readonly_inheritance.py:132: error: Overwriting TypedDict field "x" while merging [misc] -typeddicts_readonly_inheritance.py:132: error: Overwriting TypedDict field "y" while merging [misc] +typeddicts_readonly_inheritance.py:98: error: Field "a" is required in base class "F1" [misc] +typeddicts_readonly_inheritance.py:119: error: Incompatible definitions of field "x" in base classes "TD_A2" and "TD_A1" [misc] """ conformance_automated = "Fail" errors_diff = """ -Line 19: Unexpected errors ['typeddicts_readonly_inheritance.py:19: error: Overwriting TypedDict field "name" while extending [misc]'] -Line 25: Unexpected errors ['typeddicts_readonly_inheritance.py:25: error: ReadOnly TypedDict key "name" TypedDict is mutated [typeddict-readonly-mutated]'] -Line 49: Unexpected errors ['typeddicts_readonly_inheritance.py:49: error: Overwriting TypedDict field "albums" while extending [misc]'] -Line 62: Unexpected errors ['typeddicts_readonly_inheritance.py:62: error: Overwriting TypedDict field "name" while extending [misc]'] -Line 76: Unexpected errors ['typeddicts_readonly_inheritance.py:76: error: Overwriting TypedDict field "ident" while extending [misc]'] -Line 81: Unexpected errors ['typeddicts_readonly_inheritance.py:81: error: ReadOnly TypedDict key "ident" TypedDict is mutated [typeddict-readonly-mutated]'] -Line 102: Unexpected errors ['typeddicts_readonly_inheritance.py:102: error: Overwriting TypedDict field "b" while extending [misc]'] +Line 94: Expected 1 errors +Line 106: Expected 1 errors +Line 132: Expected 1 errors """ diff --git a/conformance/results/mypy/typeforms_typeform.toml b/conformance/results/mypy/typeforms_typeform.toml index 14f1ba107..ce105569d 100644 --- a/conformance/results/mypy/typeforms_typeform.toml +++ b/conformance/results/mypy/typeforms_typeform.toml @@ -4,6 +4,7 @@ Does not support assigning `Union` and `GenericAlias` objects to their runtime t """ conformance_automated = "Fail" errors_diff = """ +Line 71: Expected 1 errors Line 46: Unexpected errors ['typeforms_typeform.py:46: error: Incompatible types in assignment (expression has type "UnionType | type[str]", variable has type "UnionType") [assignment]'] Line 49: Unexpected errors ['typeforms_typeform.py:49: error: Incompatible types in assignment (expression has type "type[list[int]]", variable has type "GenericAlias") [assignment]'] """ @@ -17,7 +18,6 @@ typeforms_typeform.py:67: error: Incompatible types in assignment (expression ha typeforms_typeform.py:68: error: Incompatible types in assignment (expression has type "tuple[int, int]", variable has type "TypeForm[Any]") [assignment] typeforms_typeform.py:69: error: Incompatible types in assignment (expression has type "int", variable has type "TypeForm[Any]") [assignment] typeforms_typeform.py:70: error: Incompatible types in assignment (expression has type "", variable has type "TypeForm[Any]") [assignment] -typeforms_typeform.py:71: error: Incompatible types in assignment (expression has type "", variable has type "TypeForm[Any]") [assignment] typeforms_typeform.py:72: error: Incompatible types in assignment (expression has type "", variable has type "TypeForm[Any]") [assignment] typeforms_typeform.py:73: error: Incompatible types in assignment (expression has type "", variable has type "TypeForm[Any]") [assignment] typeforms_typeform.py:74: error: Incompatible types in assignment (expression has type "", variable has type "TypeForm[Any]") [assignment] diff --git a/conformance/results/mypy/version.toml b/conformance/results/mypy/version.toml index 4d966c35b..46d35802d 100644 --- a/conformance/results/mypy/version.toml +++ b/conformance/results/mypy/version.toml @@ -1 +1 @@ -version = "mypy 2.1.0" +version = "mypy 2.4.0" diff --git a/conformance/results/pyrefly/annotations_forward_refs.toml b/conformance/results/pyrefly/annotations_forward_refs.toml index f0d3f84fb..bf7260c92 100644 --- a/conformance/results/pyrefly/annotations_forward_refs.toml +++ b/conformance/results/pyrefly/annotations_forward_refs.toml @@ -7,8 +7,6 @@ conformance_automated = "Fail" errors_diff = """ Line 94: Expected 1 errors Line 96: Expected 1 errors -Line 84: Unexpected errors ['Could not find name `ClassInner` [unknown-name]'] -Line 112: Unexpected errors ['assert_type(Unknown, ClassD.ClassInner) failed [assert-type]'] """ output = """ ERROR annotations_forward_refs.py:23:12-18: `ClassA` is uninitialized [unbound-name] @@ -31,10 +29,8 @@ ERROR annotations_forward_refs.py:53:11-21: Boolean operation cannot be used in ERROR annotations_forward_refs.py:54:11-17: F-string cannot be used in annotations [invalid-annotation] ERROR annotations_forward_refs.py:55:11-16: Expected a type form, got instance of `Module[types]` [not-a-type] ERROR annotations_forward_refs.py:83:13-23: Could not find name `ClassInner` [unknown-name] -ERROR annotations_forward_refs.py:84:14-24: Could not find name `ClassInner` [unknown-name] ERROR annotations_forward_refs.py:92:14-20: Could not find name `ClassF` [unknown-name] ERROR annotations_forward_refs.py:101:8-11: Expected a type form, got instance of `(self: Self@ClassD) -> None` [not-a-type] ERROR annotations_forward_refs.py:103:9-12: Expected a type form, got instance of `(self: Self@ClassD) -> None` [not-a-type] ERROR annotations_forward_refs.py:111:16-45: assert_type(Unknown, ClassD.ClassInner) failed [assert-type] -ERROR annotations_forward_refs.py:112:16-45: assert_type(Unknown, ClassD.ClassInner) failed [assert-type] """ diff --git a/conformance/results/pyrefly/annotations_future_import.toml b/conformance/results/pyrefly/annotations_future_import.toml index 83a8ee5ef..f0ba60aec 100644 --- a/conformance/results/pyrefly/annotations_future_import.toml +++ b/conformance/results/pyrefly/annotations_future_import.toml @@ -7,16 +7,8 @@ conformance_automated = "Fail" errors_diff = """ Line 37: Expected 1 errors Line 39: Expected 1 errors -Line 26: Unexpected errors ['Could not find name `ClassInner` [unknown-name]'] -Line 27: Unexpected errors ['Could not find name `ClassInner` [unknown-name]'] -Line 55: Unexpected errors ['assert_type(Unknown, ClassB.ClassInner) failed [assert-type]'] -Line 56: Unexpected errors ['assert_type(Unknown, ClassB.ClassInner) failed [assert-type]'] """ output = """ -ERROR annotations_future_import.py:26:13-23: Could not find name `ClassInner` [unknown-name] -ERROR annotations_future_import.py:27:14-24: Could not find name `ClassInner` [unknown-name] ERROR annotations_future_import.py:44:8-11: Expected a type form, got instance of `(self: Self@ClassB) -> None` [not-a-type] ERROR annotations_future_import.py:46:9-12: Expected a type form, got instance of `(self: Self@ClassB) -> None` [not-a-type] -ERROR annotations_future_import.py:55:16-45: assert_type(Unknown, ClassB.ClassInner) failed [assert-type] -ERROR annotations_future_import.py:56:16-45: assert_type(Unknown, ClassB.ClassInner) failed [assert-type] """ diff --git a/conformance/results/pyrefly/annotations_generators.toml b/conformance/results/pyrefly/annotations_generators.toml index 15f7ef6c3..744cf383f 100644 --- a/conformance/results/pyrefly/annotations_generators.toml +++ b/conformance/results/pyrefly/annotations_generators.toml @@ -7,7 +7,6 @@ ERROR annotations_generators.py:51:21-39: Function declared to return `C`, but o ERROR annotations_generators.py:54:16-21: Returned type `Literal[False]` is not assignable to declared return type `C` [bad-return] ERROR annotations_generators.py:57:15-16: Yielded type `Literal[3]` is not assignable to declared yield type `A` [invalid-yield] ERROR annotations_generators.py:66:15-16: Yielded type `Literal[3]` is not assignable to declared yield type `A` [invalid-yield] -ERROR annotations_generators.py:71:12-16: Returned type `Literal[True]` is not assignable to declared return type `None` [bad-return] ERROR annotations_generators.py:75:11-14: Yielded type `B` is not assignable to declared yield type `A` [invalid-yield] ERROR annotations_generators.py:86:21-24: Generator function should return `Generator` [bad-return] ERROR annotations_generators.py:91:27-30: Async generator function should return `AsyncGenerator` [bad-return] diff --git a/conformance/results/pyrefly/dataclasses_descriptors.toml b/conformance/results/pyrefly/dataclasses_descriptors.toml index 5f36bae96..21e34e3c3 100644 --- a/conformance/results/pyrefly/dataclasses_descriptors.toml +++ b/conformance/results/pyrefly/dataclasses_descriptors.toml @@ -5,10 +5,8 @@ Doesn't allow non-data descriptors or data descriptors with differing `__get__` """ conformance_automated = "Fail" errors_diff = """ -Line 32: Unexpected errors ['Cannot set field `y` to data descriptor `Desc1` with inconsistent types [bad-class-definition]'] -Line 58: Unexpected errors ['Cannot set field `z` to non-data descriptor `Desc2` [bad-class-definition]'] +Line 58: Unexpected errors ['Cannot set field `z` to non-data descriptor `Desc2` [bad-dataclass-descriptor]'] """ output = """ -ERROR dataclasses_descriptors.py:32:5-6: Cannot set field `y` to data descriptor `Desc1` with inconsistent types [bad-class-definition] -ERROR dataclasses_descriptors.py:58:5-6: Cannot set field `z` to non-data descriptor `Desc2` [bad-class-definition] +ERROR dataclasses_descriptors.py:58:5-6: Cannot set field `z` to non-data descriptor `Desc2` [bad-dataclass-descriptor] """ diff --git a/conformance/results/pyrefly/dataclasses_postinit.toml b/conformance/results/pyrefly/dataclasses_postinit.toml index 45efdbd19..8098f3ab8 100644 --- a/conformance/results/pyrefly/dataclasses_postinit.toml +++ b/conformance/results/pyrefly/dataclasses_postinit.toml @@ -3,8 +3,8 @@ conformance_automated = "Pass" errors_diff = """ """ output = """ -ERROR dataclasses_postinit.py:19:9-22: `__post_init__` type `(self: DC1, x: int, y: int) -> None` is not assignable to expected type `(x: int, y: str) -> object` generated from the dataclass's `InitVar` fields [bad-function-definition] +ERROR dataclasses_postinit.py:19:9-22: `__post_init__` type `(x: int, y: int) -> None` is not assignable to expected type `(x: int, y: str) -> object` generated from the dataclass's `InitVar` fields [bad-function-definition] ERROR dataclasses_postinit.py:28:7-12: Object of class `DC1` has no attribute `x` [missing-attribute] ERROR dataclasses_postinit.py:29:7-12: Object of class `DC1` has no attribute `y` [missing-attribute] -ERROR dataclasses_postinit.py:36:9-22: `__post_init__` type `(self: DC2, x: int) -> None` is not assignable to expected type `(x: int, y: str) -> object` generated from the dataclass's `InitVar` fields [bad-function-definition] +ERROR dataclasses_postinit.py:36:9-22: `__post_init__` type `(x: int) -> None` is not assignable to expected type `(x: int, y: str) -> object` generated from the dataclass's `InitVar` fields [bad-function-definition] """ diff --git a/conformance/results/pyrefly/enums_member_values.toml b/conformance/results/pyrefly/enums_member_values.toml index 5ac05b3dd..93bdb61fb 100644 --- a/conformance/results/pyrefly/enums_member_values.toml +++ b/conformance/results/pyrefly/enums_member_values.toml @@ -3,7 +3,6 @@ conformance_automated = "Pass" errors_diff = """ """ output = """ -ERROR enums_member_values.py:30:16-51: assert_type(int, Literal[1, 2, 3]) failed [assert-type] ERROR enums_member_values.py:54:12-46: assert_type(Any, Literal[1]) failed [assert-type] ERROR enums_member_values.py:68:12-42: assert_type(int, Literal[1]) failed [assert-type] ERROR enums_member_values.py:78:5-10: Enum member `GREEN` has type `Literal['green']`, must match the `_value_` attribute annotation of `int` [bad-assignment] diff --git a/conformance/results/pyrefly/enums_members.toml b/conformance/results/pyrefly/enums_members.toml index c5352b243..4b81e579b 100644 --- a/conformance/results/pyrefly/enums_members.toml +++ b/conformance/results/pyrefly/enums_members.toml @@ -8,9 +8,7 @@ ERROR enums_members.py:86:20-34: `Pet4.converter` is not a valid enum member [in ERROR enums_members.py:87:20-34: `Pet4.transform` is not a valid enum member [invalid-literal] ERROR enums_members.py:88:18-30: `Pet4.species` is not a valid enum member [invalid-literal] ERROR enums_members.py:89:16-26: `Pet4.speak` is not a valid enum member [invalid-literal] -ERROR enums_members.py:120:12-43: assert_type(int, Unknown) failed [assert-type] ERROR enums_members.py:120:32-41: `Example.b` is not a valid enum member [invalid-literal] -ERROR enums_members.py:133:20-57: assert_type(int, Unknown) failed [assert-type] ERROR enums_members.py:133:43-55: `Example2.__B` is not a valid enum member [invalid-literal] ERROR enums_members.py:150:12-27: assert_type(Literal[Pet5.DOG], int) failed [assert-type] ERROR enums_members.py:151:12-28: assert_type(Literal[Pet5.FISH], int) failed [assert-type] diff --git a/conformance/results/pyrefly/generics_mixed_variance_inference.toml b/conformance/results/pyrefly/generics_mixed_variance_inference.toml index 862cfd90f..910830561 100644 --- a/conformance/results/pyrefly/generics_mixed_variance_inference.toml +++ b/conformance/results/pyrefly/generics_mixed_variance_inference.toml @@ -1,13 +1,8 @@ -conformant = "Unsupported" -conformance_automated = "Fail" +conformance_automated = "Pass" errors_diff = """ -Line 21: Expected 1 errors -Line 17: Unexpected errors ['`Mixed[int, bool, []]` is not assignable to `Mixed[int, int, []]` [bad-assignment]'] -Line 20: Unexpected errors ['`Mixed[int, *tuple[()], [object]]` is not assignable to `Mixed[int, *tuple[()], [int]]` [bad-assignment]'] """ output = """ ERROR generics_mixed_variance_inference.py:13:22-39: `Mixed[bool, *tuple[()], []]` is not assignable to `Mixed[int, *tuple[()], []]` [bad-assignment] ERROR generics_mixed_variance_inference.py:16:27-51: `Mixed[int, object, []]` is not assignable to `Mixed[int, int, []]` [bad-assignment] -ERROR generics_mixed_variance_inference.py:17:27-49: `Mixed[int, bool, []]` is not assignable to `Mixed[int, int, []]` [bad-assignment] -ERROR generics_mixed_variance_inference.py:20:25-47: `Mixed[int, *tuple[()], [object]]` is not assignable to `Mixed[int, *tuple[()], [int]]` [bad-assignment] +ERROR generics_mixed_variance_inference.py:21:25-45: `Mixed[int, *tuple[()], [bool]]` is not assignable to `Mixed[int, *tuple[()], [int]]` [bad-assignment] """ diff --git a/conformance/results/pyrefly/generics_paramspec_basic.toml b/conformance/results/pyrefly/generics_paramspec_basic.toml index b446dd177..75c9f9bb1 100644 --- a/conformance/results/pyrefly/generics_paramspec_basic.toml +++ b/conformance/results/pyrefly/generics_paramspec_basic.toml @@ -4,12 +4,12 @@ errors_diff = """ """ output = """ ERROR generics_paramspec_basic.py:10:13-31: ParamSpec must be assigned to a variable named `NotIt` [invalid-param-spec] -ERROR generics_paramspec_basic.py:15:18-19: `ParamSpec` is not allowed in this context [invalid-annotation] -ERROR generics_paramspec_basic.py:23:14-15: `ParamSpec` is not allowed in this context [invalid-annotation] -ERROR generics_paramspec_basic.py:23:20-21: `ParamSpec` is not allowed in this context [invalid-annotation] +ERROR generics_paramspec_basic.py:15:18-19: `P` is not allowed in this context [invalid-annotation] +ERROR generics_paramspec_basic.py:23:14-15: `P` is not allowed in this context [invalid-annotation] +ERROR generics_paramspec_basic.py:23:20-21: `P` is not allowed in this context [invalid-annotation] ERROR generics_paramspec_basic.py:27:14-33: `Concatenate[int, P]` is not allowed in this context [invalid-annotation] ERROR generics_paramspec_basic.py:31:14-21: `ParamSpec` cannot be used for type parameter [invalid-param-spec] -ERROR generics_paramspec_basic.py:35:35-36: `ParamSpec` is not allowed in this context [invalid-annotation] -ERROR generics_paramspec_basic.py:39:18-19: `ParamSpec` is not allowed in this context [invalid-annotation] -ERROR generics_paramspec_basic.py:39:31-32: `ParamSpec` is not allowed in this context [invalid-annotation] +ERROR generics_paramspec_basic.py:35:35-36: `P` is not allowed in this context [invalid-annotation] +ERROR generics_paramspec_basic.py:39:18-19: `P` is not allowed in this context [invalid-annotation] +ERROR generics_paramspec_basic.py:39:31-32: `P` is not allowed in this context [invalid-annotation] """ diff --git a/conformance/results/pyrefly/generics_paramspec_variance.toml b/conformance/results/pyrefly/generics_paramspec_variance.toml index f68f02249..71f24512f 100644 --- a/conformance/results/pyrefly/generics_paramspec_variance.toml +++ b/conformance/results/pyrefly/generics_paramspec_variance.toml @@ -1,19 +1,8 @@ conformant = "Unsupported" conformance_automated = "Fail" errors_diff = """ -Line 14: Expected 1 errors -Line 21: Expected 1 errors -Line 30: Expected 1 errors -Line 61: Expected 1 errors -Line 63: Expected 1 errors -Line 90: Expected 1 errors Line 117: Expected 1 errors Line 126: Expected 1 errors -Line 22: Unexpected errors ['`ContravariantParamSpec[[object]]` is not assignable to `ContravariantParamSpec[[int]]` [bad-assignment]'] -Line 31: Unexpected errors ['`CovariantParamSpec[[int]]` is not assignable to `CovariantParamSpec[[object]]` [bad-assignment]'] -Line 67: Unexpected errors ['`InitP[[a: int = 1]]` is not assignable to attribute `t` with type `InitP[[a: int]]` [bad-assignment]'] -Line 84: Unexpected errors ['`OutitP[[*, a: int]]` is not assignable to attribute `t` with type `OutitP[[a: int]]` [bad-assignment]'] -Line 86: Unexpected errors ['`OutitP[[a: int, /]]` is not assignable to attribute `t` with type `OutitP[[a: int]]` [bad-assignment]'] Line 97: Unexpected errors ['Unexpected keyword argument `contravariant` to ParamSpec [invalid-param-spec]'] Line 98: Unexpected errors ['Unexpected keyword argument `covariant` to ParamSpec [invalid-param-spec]'] Line 99: Unexpected errors ['Unexpected keyword argument `infer_variance` to ParamSpec [invalid-param-spec]'] @@ -23,15 +12,16 @@ Line 143: Unexpected errors ['`InferredContravariantParamSpecOld[[object]]` is n Line 152: Unexpected errors ['`InferredCovariantParamSpecOld[[int]]` is not assignable to `InferredCovariantParamSpecOld[[object]]` [bad-assignment]'] """ output = """ +ERROR generics_paramspec_variance.py:14:42-67: `InvariantParamSpec[[int]]` is not assignable to `InvariantParamSpec[[object]]` [bad-assignment] ERROR generics_paramspec_variance.py:15:39-67: `InvariantParamSpec[[object]]` is not assignable to `InvariantParamSpec[[int]]` [bad-assignment] -ERROR generics_paramspec_variance.py:22:39-71: `ContravariantParamSpec[[object]]` is not assignable to `ContravariantParamSpec[[int]]` [bad-assignment] -ERROR generics_paramspec_variance.py:31:39-64: `CovariantParamSpec[[int]]` is not assignable to `CovariantParamSpec[[object]]` [bad-assignment] +ERROR generics_paramspec_variance.py:21:42-71: `ContravariantParamSpec[[int]]` is not assignable to `ContravariantParamSpec[[object]]` [bad-assignment] +ERROR generics_paramspec_variance.py:30:36-64: `CovariantParamSpec[[object]]` is not assignable to `CovariantParamSpec[[int]]` [bad-assignment] +ERROR generics_paramspec_variance.py:61:12-19: `InitP[[*, a: int]]` is not assignable to attribute `t` with type `InitP[[a: int]]` [bad-assignment] +ERROR generics_paramspec_variance.py:63:12-20: `InitP[[a: int, /]]` is not assignable to attribute `t` with type `InitP[[a: int]]` [bad-assignment] ERROR generics_paramspec_variance.py:65:12-22: `InitP[[b: int]]` is not assignable to attribute `t` with type `InitP[[a: int]]` [bad-assignment] -ERROR generics_paramspec_variance.py:67:12-24: `InitP[[a: int = 1]]` is not assignable to attribute `t` with type `InitP[[a: int]]` [bad-assignment] ERROR generics_paramspec_variance.py:69:12-22: `InitP[[a: int, b: str]]` is not assignable to attribute `t` with type `InitP[[a: int]]` [bad-assignment] -ERROR generics_paramspec_variance.py:84:13-21: `OutitP[[*, a: int]]` is not assignable to attribute `t` with type `OutitP[[a: int]]` [bad-assignment] -ERROR generics_paramspec_variance.py:86:13-22: `OutitP[[a: int, /]]` is not assignable to attribute `t` with type `OutitP[[a: int]]` [bad-assignment] ERROR generics_paramspec_variance.py:88:13-24: `OutitP[[b: int]]` is not assignable to attribute `t` with type `OutitP[[a: int]]` [bad-assignment] +ERROR generics_paramspec_variance.py:90:13-26: `OutitP[[a: int = 1]]` is not assignable to attribute `t` with type `OutitP[[a: int]]` [bad-assignment] ERROR generics_paramspec_variance.py:92:13-24: `OutitP[[a: int, b: str]]` is not assignable to attribute `t` with type `OutitP[[a: int]]` [bad-assignment] ERROR generics_paramspec_variance.py:97:24-42: Unexpected keyword argument `contravariant` to ParamSpec [invalid-param-spec] ERROR generics_paramspec_variance.py:98:26-40: Unexpected keyword argument `covariant` to ParamSpec [invalid-param-spec] diff --git a/conformance/results/pyrefly/generics_scoping.toml b/conformance/results/pyrefly/generics_scoping.toml index f36ff6a51..151b2f8e5 100644 --- a/conformance/results/pyrefly/generics_scoping.toml +++ b/conformance/results/pyrefly/generics_scoping.toml @@ -10,9 +10,10 @@ ERROR generics_scoping.py:50:12-48: assert_type(str, Literal['abc']) failed [ass ERROR generics_scoping.py:54:12-50: assert_type(bytes, Literal[b'abc']) failed [assert-type] ERROR generics_scoping.py:61:8-15: Type variable `S` is not in scope [invalid-type-var] ERROR generics_scoping.py:65:14-21: Type variable `S` is not in scope [invalid-type-var] -ERROR generics_scoping.py:76:11-20: Redundant type parameter declaration [invalid-type-var] -ERROR generics_scoping.py:86:15-26: Type variable `T` is not in scope [invalid-type-var] +ERROR generics_scoping.py:76:29-30: Type parameter `T` shadows a type parameter of the same name from an enclosing scope [invalid-type-var] +ERROR generics_scoping.py:86:24-25: Type parameter `T` shadows a type parameter of the same name from an enclosing scope [invalid-type-var] ERROR generics_scoping.py:89:12-19: Type variable `T` is not in scope [invalid-type-var] +ERROR generics_scoping.py:91:36-37: Type parameter `T` shadows a type parameter of the same name from an enclosing scope [invalid-type-var] ERROR generics_scoping.py:98:24-31: Type variable `T` is not in scope [invalid-type-var] ERROR generics_scoping.py:105:14-15: Type variable `T` is not in scope [invalid-type-var] ERROR generics_scoping.py:106:14-21: Type variable `T` is not in scope [invalid-type-var] diff --git a/conformance/results/pyrefly/generics_syntax_compatibility.toml b/conformance/results/pyrefly/generics_syntax_compatibility.toml index d6e72a2c5..6dba07458 100644 --- a/conformance/results/pyrefly/generics_syntax_compatibility.toml +++ b/conformance/results/pyrefly/generics_syntax_compatibility.toml @@ -4,6 +4,6 @@ errors_diff = """ """ output = """ ERROR generics_syntax_compatibility.py:14:7-13: Class `ClassA` uses type variables not specified in `Generic` or `Protocol` base [invalid-type-var] -ERROR generics_syntax_compatibility.py:14:22-23: Type parameter K is not included in the type parameter list [invalid-type-var] -ERROR generics_syntax_compatibility.py:26:35-36: Type parameter K is not included in the type parameter list [invalid-type-var] +ERROR generics_syntax_compatibility.py:14:22-23: Type parameter `K` is not included in the type parameter list [invalid-type-var] +ERROR generics_syntax_compatibility.py:26:35-36: Type parameter `K` is not included in the type parameter list [invalid-type-var] """ diff --git a/conformance/results/pyrefly/generics_syntax_declarations.toml b/conformance/results/pyrefly/generics_syntax_declarations.toml index d5b472029..def48a460 100644 --- a/conformance/results/pyrefly/generics_syntax_declarations.toml +++ b/conformance/results/pyrefly/generics_syntax_declarations.toml @@ -6,7 +6,7 @@ output = """ ERROR generics_syntax_declarations.py:17:7-13: Redundant type parameter declaration [invalid-type-var] ERROR generics_syntax_declarations.py:25:7-13: Redundant type parameter declaration [invalid-type-var] ERROR generics_syntax_declarations.py:32:9-21: Object of class `str` has no attribute `is_integer` [missing-attribute] -ERROR generics_syntax_declarations.py:44:21-33: Type variable bounds and constraints must be concrete [invalid-annotation] +ERROR generics_syntax_declarations.py:44:31-32: Type variable `V` is not in scope [invalid-type-var] ERROR generics_syntax_declarations.py:48:17-27: Expected a type form, got instance of `list[type[int] | type[str]]` [not-a-type] ERROR generics_syntax_declarations.py:60:17-19: Expected at least 2 constraints in TypeVar `T`, got 0 [invalid-type-var] ERROR generics_syntax_declarations.py:64:17-23: Expected at least 2 constraints in TypeVar `T`, got 1 [invalid-type-var] diff --git a/conformance/results/pyrefly/generics_typevartuple_variance.toml b/conformance/results/pyrefly/generics_typevartuple_variance.toml index ef2eff062..67528a194 100644 --- a/conformance/results/pyrefly/generics_typevartuple_variance.toml +++ b/conformance/results/pyrefly/generics_typevartuple_variance.toml @@ -3,13 +3,6 @@ conformance_automated = "Fail" errors_diff = """ Line 79: Expected 1 errors Line 90: Expected 1 errors -Line 29: Unexpected errors ['`ContravariantTypeVarTuple[object]` is not assignable to `ContravariantTypeVarTuple[int]` [bad-assignment]'] -Line 30: Unexpected errors ['`ContravariantTypeVarTuple[*tuple[object, ...]]` is not assignable to `ContravariantTypeVarTuple[*tuple[int, ...]]` [bad-assignment]'] -Line 33: Unexpected errors ['`ContravariantTypeVarTuple[*tuple[int, ...]]` is not assignable to `ContravariantTypeVarTuple[int]` [bad-assignment]'] -Line 43: Unexpected errors ['`CovariantTypeVarTuple[int]` is not assignable to `CovariantTypeVarTuple[object]` [bad-assignment]'] -Line 44: Unexpected errors ['`CovariantTypeVarTuple[bool, bool]` is not assignable to `CovariantTypeVarTuple[int, int]` [bad-assignment]'] -Line 49: Unexpected errors ['`CovariantTypeVarTuple[*tuple[int, ...]]` is not assignable to `CovariantTypeVarTuple[*tuple[object, ...]]` [bad-assignment]'] -Line 52: Unexpected errors ['`CovariantTypeVarTuple[int]` is not assignable to `CovariantTypeVarTuple[*tuple[int, ...]]` [bad-assignment]'] Line 55: Unexpected errors ['Unexpected keyword argument `infer_variance` to TypeVarTuple [invalid-type-var-tuple]'] Line 73: Unexpected errors ['Unexpected keyword argument `contravariant` to TypeVarTuple [invalid-type-var-tuple]'] Line 84: Unexpected errors ['`ContravariantTypeVarTupleOld[object]` is not assignable to `ContravariantTypeVarTupleOld[int]` [bad-assignment]'] @@ -26,21 +19,14 @@ ERROR generics_typevartuple_variance.py:18:70-111: `InvariantTypeVarTuple[*tuple ERROR generics_typevartuple_variance.py:20:58-99: `InvariantTypeVarTuple[*tuple[int, ...]]` is not assignable to `InvariantTypeVarTuple[int]` [bad-assignment] ERROR generics_typevartuple_variance.py:21:71-99: `InvariantTypeVarTuple[int]` is not assignable to `InvariantTypeVarTuple[*tuple[int, ...]]` [bad-assignment] ERROR generics_typevartuple_variance.py:28:53-93: `ContravariantTypeVarTuple[object, int]` is not assignable to `ContravariantTypeVarTuple[object, object]` [bad-assignment] -ERROR generics_typevartuple_variance.py:29:42-77: `ContravariantTypeVarTuple[object]` is not assignable to `ContravariantTypeVarTuple[int]` [bad-assignment] -ERROR generics_typevartuple_variance.py:30:64-112: `ContravariantTypeVarTuple[*tuple[object, ...]]` is not assignable to `ContravariantTypeVarTuple[*tuple[int, ...]]` [bad-assignment] ERROR generics_typevartuple_variance.py:31:70-115: `ContravariantTypeVarTuple[*tuple[int, ...]]` is not assignable to `ContravariantTypeVarTuple[*tuple[object, ...]]` [bad-assignment] -ERROR generics_typevartuple_variance.py:33:58-103: `ContravariantTypeVarTuple[*tuple[int, ...]]` is not assignable to `ContravariantTypeVarTuple[int]` [bad-assignment] ERROR generics_typevartuple_variance.py:34:71-103: `ContravariantTypeVarTuple[int]` is not assignable to `ContravariantTypeVarTuple[*tuple[int, ...]]` [bad-assignment] ERROR generics_typevartuple_variance.py:42:39-70: `CovariantTypeVarTuple[object]` is not assignable to `CovariantTypeVarTuple[int]` [bad-assignment] -ERROR generics_typevartuple_variance.py:43:42-70: `CovariantTypeVarTuple[int]` is not assignable to `CovariantTypeVarTuple[object]` [bad-assignment] -ERROR generics_typevartuple_variance.py:44:50-86: `CovariantTypeVarTuple[bool, bool]` is not assignable to `CovariantTypeVarTuple[int, int]` [bad-assignment] ERROR generics_typevartuple_variance.py:45:50-88: `CovariantTypeVarTuple[bool, object]` is not assignable to `CovariantTypeVarTuple[int, int]` [bad-assignment] ERROR generics_typevartuple_variance.py:46:50-88: `CovariantTypeVarTuple[object, bool]` is not assignable to `CovariantTypeVarTuple[int, int]` [bad-assignment] ERROR generics_typevartuple_variance.py:47:50-90: `CovariantTypeVarTuple[object, object]` is not assignable to `CovariantTypeVarTuple[int, int]` [bad-assignment] ERROR generics_typevartuple_variance.py:48:61-105: `CovariantTypeVarTuple[*tuple[object, ...]]` is not assignable to `CovariantTypeVarTuple[*tuple[int, ...]]` [bad-assignment] -ERROR generics_typevartuple_variance.py:49:67-108: `CovariantTypeVarTuple[*tuple[int, ...]]` is not assignable to `CovariantTypeVarTuple[*tuple[object, ...]]` [bad-assignment] ERROR generics_typevartuple_variance.py:51:55-96: `CovariantTypeVarTuple[*tuple[int, ...]]` is not assignable to `CovariantTypeVarTuple[int]` [bad-assignment] -ERROR generics_typevartuple_variance.py:52:68-96: `CovariantTypeVarTuple[int]` is not assignable to `CovariantTypeVarTuple[*tuple[int, ...]]` [bad-assignment] ERROR generics_typevartuple_variance.py:55:35-54: Unexpected keyword argument `infer_variance` to TypeVarTuple [invalid-type-var-tuple] ERROR generics_typevartuple_variance.py:56:33-47: Unexpected keyword argument `covariant` to TypeVarTuple [invalid-type-var-tuple] ERROR generics_typevartuple_variance.py:56:49-67: Unexpected keyword argument `contravariant` to TypeVarTuple [invalid-type-var-tuple] diff --git a/conformance/results/pyrefly/version.toml b/conformance/results/pyrefly/version.toml index 783ceb1cc..017c55769 100644 --- a/conformance/results/pyrefly/version.toml +++ b/conformance/results/pyrefly/version.toml @@ -1 +1 @@ -version = "pyrefly 1.3.0-dev.1" +version = "pyrefly 1.4.0" diff --git a/conformance/results/pyright/callables_annotation.toml b/conformance/results/pyright/callables_annotation.toml index 66fdcb54e..407d0e2b2 100644 --- a/conformance/results/pyright/callables_annotation.toml +++ b/conformance/results/pyright/callables_annotation.toml @@ -14,10 +14,10 @@ callables_annotation.py:58:24 - error: Expected only two type arguments to "Call callables_annotation.py:59:15 - error: "..." is not allowed in this context (reportInvalidTypeForm) callables_annotation.py:91:7 - error: Type "() -> str" is not assignable to declared type "(int, ...) -> str"   Type "() -> str" is not assignable to type "(int, ...) -> str" -    Function accepts too many positional parameters; expected 0 but received 2 (reportAssignmentType) +    Function accepts too few positional parameters; expected 1 but received 0 (reportAssignmentType) callables_annotation.py:93:7 - error: Type "(*, a: int) -> str" is not assignable to declared type "(int, ...) -> str"   Type "(*, a: int) -> str" is not assignable to type "(int, ...) -> str" -    Function accepts too many positional parameters; expected 0 but received 2 (reportAssignmentType) +    Function accepts too few positional parameters; expected 1 but received 0 (reportAssignmentType) callables_annotation.py:159:25 - error: Type "Proto8" is not assignable to declared type "Proto5[Any]"   "Proto8" is incompatible with protocol "Proto5[Any]"     "__call__" is an incompatible type @@ -26,7 +26,7 @@ callables_annotation.py:159:25 - error: Type "Proto8" is not assignable to decla         Parameter "**kwargs" has no corresponding parameter (reportAssignmentType) callables_annotation.py:172:26 - error: Type "() -> str" is not assignable to declared type "Callback2[...]"   Type "() -> str" is not assignable to type "Callback2[...]" -    Function accepts too many positional parameters; expected 0 but received 2 (reportAssignmentType) +    Function accepts too few positional parameters; expected 1 but received 0 (reportAssignmentType) callables_annotation.py:187:48 - error: Type "(int, str) -> str" is not assignable to declared type "(str, ...) -> str"   Type "(int, str) -> str" is not assignable to type "(str, ...) -> str"     Parameter 1: type "str" is incompatible with type "int" diff --git a/conformance/results/pyright/callables_kwargs.toml b/conformance/results/pyright/callables_kwargs.toml index 191d97a58..b04d6a66a 100644 --- a/conformance/results/pyright/callables_kwargs.toml +++ b/conformance/results/pyright/callables_kwargs.toml @@ -22,9 +22,9 @@ callables_kwargs.py:102:19 - error: Type "(**kwargs: **TD2) -> None" is not assi     Extra parameter "v3" (reportAssignmentType) callables_kwargs.py:103:19 - error: Type "(**kwargs: **TD2) -> None" is not assignable to declared type "TDProtocol5"   Type "(**kwargs: **TD2) -> None" is not assignable to type "(v1: int, v3: str) -> None" -    Function accepts too many positional parameters; expected 0 but received 2 -      Extra parameter "v1" -      Extra parameter "v3" (reportAssignmentType) +    Function accepts too few positional parameters; expected 2 but received 0 +      Parameter "v1" is missing default argument +      Parameter "v3" is missing default argument (reportAssignmentType) callables_kwargs.py:111:30 - error: Typed dictionary overlaps with keyword parameter: v1 (reportGeneralTypeIssues) callables_kwargs.py:122:21 - error: Expected TypedDict type argument for Unpack (reportGeneralTypeIssues) callables_kwargs.py:134:19 - error: Type "(*, v1: int, v3: str, v2: str = "") -> None" is not assignable to declared type "TDProtocol6" diff --git a/conformance/results/pyright/callables_subtyping.toml b/conformance/results/pyright/callables_subtyping.toml index 53f09982d..55956770c 100644 --- a/conformance/results/pyright/callables_subtyping.toml +++ b/conformance/results/pyright/callables_subtyping.toml @@ -23,14 +23,14 @@ callables_subtyping.py:52:21 - error: Type "KwOnly2" is not assignable to declar   "KwOnly2" is incompatible with protocol "Standard2"     "__call__" is an incompatible type       Type "(*, b: int, a: int) -> None" is not assignable to type "(a: int, b: int) -> None" -        Function accepts too many positional parameters; expected 0 but received 2 -          Extra parameter "b" -          Extra parameter "a" (reportAssignmentType) +        Function accepts too few positional parameters; expected 2 but received 0 +          Parameter "b" is missing default argument +          Parameter "a" is missing default argument (reportAssignmentType) callables_subtyping.py:55:20 - error: Type "KwOnly2" is not assignable to declared type "PosOnly2"   "KwOnly2" is incompatible with protocol "PosOnly2"     "__call__" is an incompatible type       Type "(*, b: int, a: int) -> None" is not assignable to type "(b: int, a: int, /) -> None" -        Function accepts too many positional parameters; expected 0 but received 2 +        Function accepts too few positional parameters; expected 2 but received 0           Extra parameter "b"           Extra parameter "a" (reportAssignmentType) callables_subtyping.py:58:19 - error: Type "PosOnly2" is not assignable to declared type "KwOnly2" @@ -38,7 +38,7 @@ callables_subtyping.py:58:19 - error: Type "PosOnly2" is not assignable to decla     "__call__" is an incompatible type       Type "(b: int, a: int, /) -> None" is not assignable to type "(*, b: int, a: int) -> None"         Position-only parameter mismatch; expected 2 but received 0 -        Function accepts too few positional parameters; expected 2 but received 0 +        Function accepts too many positional parameters; expected 0 but received 2         Missing keyword parameter "b"         Missing keyword parameter "a" (reportAssignmentType) callables_subtyping.py:82:20 - error: Type "NoArgs3" is not assignable to declared type "IntArgs3" @@ -161,13 +161,13 @@ callables_subtyping.py:196:22 - error: Type "IntStrKwargs6" is not assignable to   "IntStrKwargs6" is incompatible with protocol "Standard6"     "__call__" is an incompatible type       Type "(**kwargs: int | str) -> None" is not assignable to type "(a: int, b: str) -> None" -        Function accepts too many positional parameters; expected 0 but received 2 (reportAssignmentType) +        Function accepts too few positional parameters; expected 2 but received 0 (reportAssignmentType) callables_subtyping.py:197:22 - error: Type "StrKwargs6" is not assignable to declared type "Standard6"   "StrKwargs6" is incompatible with protocol "Standard6"     "__call__" is an incompatible type       Type "(*, a: int, **kwargs: str) -> None" is not assignable to type "(a: int, b: str) -> None" -        Function accepts too many positional parameters; expected 0 but received 2 -          Extra parameter "a" (reportAssignmentType) +        Function accepts too few positional parameters; expected 2 but received 0 +          Parameter "a" is missing default argument (reportAssignmentType) callables_subtyping.py:236:23 - error: Type "NoDefaultArg8" is not assignable to declared type "DefaultArg8"   "NoDefaultArg8" is incompatible with protocol "DefaultArg8"     "__call__" is an incompatible type @@ -177,12 +177,12 @@ callables_subtyping.py:237:23 - error: Type "NoX8" is not assignable to declared   "NoX8" is incompatible with protocol "DefaultArg8"     "__call__" is an incompatible type       Type "() -> None" is not assignable to type "(x: int = 0) -> None" -        Function accepts too many positional parameters; expected 0 but received 1 (reportAssignmentType) +        Function accepts too few positional parameters; expected 1 but received 0 (reportAssignmentType) callables_subtyping.py:240:25 - error: Type "NoX8" is not assignable to declared type "NoDefaultArg8"   "NoX8" is incompatible with protocol "NoDefaultArg8"     "__call__" is an incompatible type       Type "() -> None" is not assignable to type "(x: int) -> None" -        Function accepts too many positional parameters; expected 0 but received 1 (reportAssignmentType) +        Function accepts too few positional parameters; expected 1 but received 0 (reportAssignmentType) callables_subtyping.py:243:16 - error: Type "NoDefaultArg8" is not assignable to declared type "NoX8"   "NoDefaultArg8" is incompatible with protocol "NoX8"     "__call__" is an incompatible type @@ -197,6 +197,6 @@ callables_subtyping.py:297:24 - error: Type "StrArg10" is not assignable to decl     "__call__" is an incompatible type       One or more overloads of "__call__" is not assignable         Type "(x: str) -> complex" is not assignable to type "(x: int, y: str) -> float" -          Function accepts too many positional parameters; expected 1 but received 2 (reportAssignmentType) +          Function accepts too few positional parameters; expected 2 but received 1 (reportAssignmentType) """ conformance_automated = "Pass" diff --git a/conformance/results/pyright/dataclasses_transform_converter.toml b/conformance/results/pyright/dataclasses_transform_converter.toml index ec7db74cb..6ec751736 100644 --- a/conformance/results/pyright/dataclasses_transform_converter.toml +++ b/conformance/results/pyright/dataclasses_transform_converter.toml @@ -5,17 +5,17 @@ errors_diff = """ output = """ dataclasses_transform_converter.py:48:31 - error: Argument of type "() -> int" is not a valid converter for field "field1" of type "int"   Type "() -> int" is not assignable to type "(__converterInput) -> int" -    Function accepts too many positional parameters; expected 0 but received 1 (reportGeneralTypeIssues) +    Function accepts too few positional parameters; expected 1 but received 0 (reportGeneralTypeIssues) dataclasses_transform_converter.py:48:41 - error: Argument of type "() -> int" cannot be assigned to parameter "converter" of type "(S@model_field) -> T@model_field" in function "model_field"   Type "() -> int" is not assignable to type "(S@model_field) -> int" -    Function accepts too many positional parameters; expected 0 but received 1 (reportArgumentType) +    Function accepts too few positional parameters; expected 1 but received 0 (reportArgumentType) dataclasses_transform_converter.py:49:31 - error: Argument of type "(*, x: int) -> int" is not a valid converter for field "field2" of type "int"   Type "(*, x: int) -> int" is not assignable to type "(__converterInput) -> int" -    Function accepts too many positional parameters; expected 0 but received 1 +    Function accepts too few positional parameters; expected 1 but received 0       Extra parameter "x" (reportGeneralTypeIssues) dataclasses_transform_converter.py:49:41 - error: Argument of type "(*, x: int) -> int" cannot be assigned to parameter "converter" of type "(S@model_field) -> T@model_field" in function "model_field"   Type "(*, x: int) -> int" is not assignable to type "(S@model_field) -> int" -    Function accepts too many positional parameters; expected 0 but received 1 +    Function accepts too few positional parameters; expected 1 but received 0       Extra parameter "x" (reportArgumentType) dataclasses_transform_converter.py:107:5 - error: Argument of type "Literal[1]" cannot be assigned to parameter "field0" of type "str" in function "__init__"   "Literal[1]" is not assignable to "str" (reportArgumentType) diff --git a/conformance/results/pyright/directives_disjoint_base.toml b/conformance/results/pyright/directives_disjoint_base.toml index 023812996..3aa39bab8 100644 --- a/conformance/results/pyright/directives_disjoint_base.toml +++ b/conformance/results/pyright/directives_disjoint_base.toml @@ -1,21 +1,15 @@ -conformance_automated = "Fail" -conformant = "Unsupported" -notes = """ -Does not support PEP 800 disjoint-base semantics. -""" +conformance_automated = "Pass" errors_diff = """ -Line 69: Expected 1 errors -Line 73: Expected 1 errors -Line 77: Expected 1 errors -Line 81: Expected 1 errors -Line 105: Expected 1 errors -Line 118: Expected 1 errors -Line 123: Expected 1 errors """ output = """ -directives_disjoint_base.py:113:2 - error: Argument of type "() -> None" cannot be assigned to parameter "cls" of type "_TC@disjoint_base" in function "disjoint_base" -  Type "() -> None" is not assignable to type "type" -    "FunctionType" is not assignable to "type" (reportArgumentType) +directives_disjoint_base.py:69:7 - error: Base classes have incompatible disjoint bases: "Left", "Right" (reportGeneralTypeIssues) +directives_disjoint_base.py:73:7 - error: Base classes have incompatible disjoint bases: "LeftChild", "Right" (reportGeneralTypeIssues) +directives_disjoint_base.py:77:7 - error: Base classes have incompatible disjoint bases: "Left", "Right" (reportGeneralTypeIssues) +directives_disjoint_base.py:81:7 - error: Base classes have incompatible disjoint bases: "Left", "Record" (reportGeneralTypeIssues) +directives_disjoint_base.py:105:7 - error: Base classes have incompatible disjoint bases: "SlotBase1", "SlotBase2" (reportGeneralTypeIssues) +directives_disjoint_base.py:113:2 - error: @disjoint_base cannot be applied to a function (reportGeneralTypeIssues) +directives_disjoint_base.py:118:2 - error: @disjoint_base cannot be applied to a TypedDict class (reportGeneralTypeIssues) +directives_disjoint_base.py:123:2 - error: @disjoint_base cannot be applied to a Protocol class (reportGeneralTypeIssues) directives_disjoint_base.py:135:22 - error: Argument of type "" cannot be assigned to parameter "arg" of type "Never" in function "assert_never"   Type "" is not assignable to type "Never" (reportArgumentType) """ diff --git a/conformance/results/pyright/enums_expansion.toml b/conformance/results/pyright/enums_expansion.toml index ad3e5573a..1e0a7d1d9 100644 --- a/conformance/results/pyright/enums_expansion.toml +++ b/conformance/results/pyright/enums_expansion.toml @@ -1,17 +1,6 @@ -conformant = "Partial" -notes = """ -Does not treat a complete union of all literal members as equivalent to the enum type. -""" -conformance_automated = "Fail" +conformance_automated = "Pass" errors_diff = """ -Line 85: Unexpected errors ['enums_expansion.py:85:41 - error: Type "Answer" is not assignable to declared type "Literal[Answer.Yes, Answer.No]"'] -Line 86: Unexpected errors ['enums_expansion.py:86:17 - error: "assert_type" mismatch: expected "Literal[Answer.Yes, Answer.No]" but received "Answer" (reportAssertTypeFailure)'] """ output = """ enums_expansion.py:56:21 - error: "assert_type" mismatch: expected "Literal[CustomFlags.FLAG3]" but received "CustomFlags" (reportAssertTypeFailure) -enums_expansion.py:85:41 - error: Type "Answer" is not assignable to declared type "Literal[Answer.Yes, Answer.No]" -  Type "Answer" is not assignable to type "Literal[Answer.Yes, Answer.No]" -    "Answer" is not assignable to type "Literal[Answer.Yes]" -    "Answer" is not assignable to type "Literal[Answer.No]" (reportAssignmentType) -enums_expansion.py:86:17 - error: "assert_type" mismatch: expected "Literal[Answer.Yes, Answer.No]" but received "Answer" (reportAssertTypeFailure) """ diff --git a/conformance/results/pyright/generics_defaults_specialization.toml b/conformance/results/pyright/generics_defaults_specialization.toml index 2beb10f61..298694496 100644 --- a/conformance/results/pyright/generics_defaults_specialization.toml +++ b/conformance/results/pyright/generics_defaults_specialization.toml @@ -1,6 +1,10 @@ conformant = "Pass" output = """ generics_defaults_specialization.py:30:15 - error: Too many type arguments provided for "MyAlias[DefaultStrT@MyAlias]"; expected 1 but received 2 (reportInvalidTypeForm) +generics_defaults_specialization.py:48:22 - error: Type "type[Bar[DefaultStrT@Bar]]" is not assignable to declared type "type[Bar[int]]" +  "type[Bar[str]]" is not assignable to "type[Bar[int]]" +  Type "type[Bar[DefaultStrT@Bar]]" is not assignable to type "type[Bar[int]]" +    Type parameter "DefaultStrT@Bar" is invariant, but "str" is not the same as "int" (reportAssignmentType) generics_defaults_specialization.py:58:5 - error: Expected no type arguments for class "Foo" (reportInvalidTypeArguments) """ conformance_automated = "Pass" diff --git a/conformance/results/pyright/generics_paramspec_semantics.toml b/conformance/results/pyright/generics_paramspec_semantics.toml index ba9b447a9..8c4c4ab54 100644 --- a/conformance/results/pyright/generics_paramspec_semantics.toml +++ b/conformance/results/pyright/generics_paramspec_semantics.toml @@ -26,10 +26,10 @@ generics_paramspec_semantics.py:127:2 - error: Argument of type "(x: str) -> int       "int" is not assignable to "str" (reportArgumentType) generics_paramspec_semantics.py:132:2 - error: Argument of type "(*, x: int) -> int" cannot be assigned to parameter "x" of type "(int, **P@expects_int_first) -> int" in function "expects_int_first"   Type "(*, x: int) -> int" is not assignable to type "(int, **P@expects_int_first) -> int" -    Function accepts too many positional parameters; expected 0 but received 1 (reportArgumentType) +    Function accepts too few positional parameters; expected 1 but received 0 (reportArgumentType) generics_paramspec_semantics.py:137:2 - error: Argument of type "(**kwargs: int) -> int" cannot be assigned to parameter "x" of type "(int, **P@expects_int_first) -> int" in function "expects_int_first"   Type "(**kwargs: int) -> int" is not assignable to type "(int, **P@expects_int_first) -> int" -    Function accepts too many positional parameters; expected 0 but received 1 (reportArgumentType) +    Function accepts too few positional parameters; expected 1 but received 0 (reportArgumentType) """ conformance_automated = "Pass" errors_diff = """ diff --git a/conformance/results/pyright/generics_typevartuple_args.toml b/conformance/results/pyright/generics_typevartuple_args.toml index a2756d559..10459bf1c 100644 --- a/conformance/results/pyright/generics_typevartuple_args.toml +++ b/conformance/results/pyright/generics_typevartuple_args.toml @@ -1,10 +1,5 @@ -conformant = "Partial" -notes = """ -Does not correctly solve `TypeVarTuple` with heterogeneous bounds. -""" -conformance_automated = "Fail" +conformance_automated = "Pass" errors_diff = """ -Line 76: Unexpected errors ['generics_typevartuple_args.py:76:14 - error: Argument of type "tuple[Literal[\\'1\\']]" cannot be assigned to parameter "args" of type "tuple[*Ts@func4]" in function "func4"'] """ output = """ generics_typevartuple_args.py:33:20 - error: Argument of type "Literal['']" cannot be assigned to parameter of type "Env" in function "exec_le" @@ -21,6 +16,4 @@ generics_typevartuple_args.py:67:1 - error: Argument missing for parameter "args generics_typevartuple_args.py:75:13 - error: Argument of type "tuple[Literal[1], Literal[2]]" cannot be assigned to parameter "args" of type "tuple[*Ts@func4]" in function "func4"   "tuple[Literal[1], Literal[2]]" is not assignable to "tuple[int]"     Tuple size mismatch; expected 1 but received 2 (reportArgumentType) -generics_typevartuple_args.py:76:14 - error: Argument of type "tuple[Literal['1']]" cannot be assigned to parameter "args" of type "tuple[*Ts@func4]" in function "func4" -  "Literal['1']" is not assignable to "int" (reportArgumentType) """ diff --git a/conformance/results/pyright/generics_typevartuple_basic.toml b/conformance/results/pyright/generics_typevartuple_basic.toml index ea0d0a1a8..70edf3f24 100644 --- a/conformance/results/pyright/generics_typevartuple_basic.toml +++ b/conformance/results/pyright/generics_typevartuple_basic.toml @@ -1,10 +1,5 @@ -conformant = "Partial" -notes = """ -Does not correctly solve `TypeVarTuple` with heterogeneous bounds. -""" -conformance_automated = "Fail" +conformance_automated = "Pass" errors_diff = """ -Line 90: Unexpected errors ['generics_typevartuple_basic.py:90:14 - error: Argument of type "tuple[Literal[\\'0\\']]" cannot be assigned to parameter "arg2" of type "tuple[*Ts@func2]" in function "func2"'] """ output = """ generics_typevartuple_basic.py:43:34 - error: Argument of type "Height" cannot be assigned to parameter "shape" of type "tuple[*Shape@Array]" in function "__init__" @@ -22,8 +17,6 @@ generics_typevartuple_basic.py:60:24 - error: Expected unpacked TypeVarTuple; us generics_typevartuple_basic.py:66:27 - error: TypeVarTuple cannot have value constraints (reportGeneralTypeIssues) generics_typevartuple_basic.py:66:32 - error: TypeVarTuple cannot have value constraints (reportGeneralTypeIssues) generics_typevartuple_basic.py:67:27 - error: "bound" is unknown parameter to TypeVarTuple (reportGeneralTypeIssues) -generics_typevartuple_basic.py:90:14 - error: Argument of type "tuple[Literal['0']]" cannot be assigned to parameter "arg2" of type "tuple[*Ts@func2]" in function "func2" -  "Literal['0']" is not assignable to "int" (reportArgumentType) generics_typevartuple_basic.py:91:15 - error: Argument of type "tuple[Literal[0]]" cannot be assigned to parameter "arg2" of type "tuple[*Ts@func2]" in function "func2"   "tuple[Literal[0]]" is not assignable to "tuple[int, int]"     Tuple size mismatch; expected 2 but received 1 (reportArgumentType) diff --git a/conformance/results/pyright/overloads_evaluation.toml b/conformance/results/pyright/overloads_evaluation.toml index 58c20bfe5..3c23761b0 100644 --- a/conformance/results/pyright/overloads_evaluation.toml +++ b/conformance/results/pyright/overloads_evaluation.toml @@ -1,10 +1,5 @@ -conformant = "Partial" -notes = """ -Infers `list[int]` for ambiguous overloads with `list[Any]` arguments, rejecting use as `list[str]`. -""" -conformance_automated = "Fail" +conformance_automated = "Pass" errors_diff = """ -Line 290: Unexpected errors ['overloads_evaluation.py:290:27 - error: Type "list[int]" is not assignable to declared type "list[str]"'] """ output = """ overloads_evaluation.py:38:1 - error: No overloads for "example1_1" match the provided arguments @@ -20,8 +15,4 @@ overloads_evaluation.py:116:14 - error: Argument of type "int | str" cannot be a overloads_evaluation.py:116:17 - error: Argument of type "int | str" cannot be assigned to parameter "y" of type "int" in function "example2"   Type "int | str" is not assignable to type "int"     "str" is not assignable to "int" (reportArgumentType) -overloads_evaluation.py:290:27 - error: Type "list[int]" is not assignable to declared type "list[str]" -  "list[int]" is not assignable to "list[str]" -    Type parameter "_T@list" is invariant, but "int" is not the same as "str" -    Consider switching from "list" to "Sequence" which is covariant (reportAssignmentType) """ diff --git a/conformance/results/pyright/protocols_class_objects.toml b/conformance/results/pyright/protocols_class_objects.toml index f68c71e6d..ebfe905db 100644 --- a/conformance/results/pyright/protocols_class_objects.toml +++ b/conformance/results/pyright/protocols_class_objects.toml @@ -11,8 +11,7 @@ protocols_class_objects.py:58:16 - error: Type "type[ConcreteA]" is not assignab     Type "(self: ConcreteA, x: int) -> int" is not assignable to type "(x: int) -> int"       Parameter name mismatch: "x" versus "self"       Parameter 1: type "int" is incompatible with type "ConcreteA" -        "int" is not assignable to "ConcreteA" -      Extra parameter "x" (reportAssignmentType) +        "int" is not assignable to "ConcreteA" (reportAssignmentType) protocols_class_objects.py:74:16 - error: Type "type[ConcreteB]" is not assignable to declared type "ProtoB1"   "prop1" is an incompatible type     "property" is not assignable to "int" (reportAssignmentType) diff --git a/conformance/results/pyright/protocols_definition.toml b/conformance/results/pyright/protocols_definition.toml index 2b983d502..27fd7e88c 100644 --- a/conformance/results/pyright/protocols_definition.toml +++ b/conformance/results/pyright/protocols_definition.toml @@ -65,9 +65,9 @@ protocols_definition.py:287:22 - error: Type "Concrete5_Bad3" is not assignable   "Concrete5_Bad3" is incompatible with protocol "Template5"     "method1" is an incompatible type       Type "(*, a: int, b: int) -> float" is not assignable to type "(a: int, b: int) -> float" -        Function accepts too many positional parameters; expected 0 but received 2 -          Extra parameter "a" -          Extra parameter "b" (reportAssignmentType) +        Function accepts too few positional parameters; expected 2 but received 0 +          Parameter "a" is missing default argument +          Parameter "b" is missing default argument (reportAssignmentType) protocols_definition.py:288:22 - error: Type "Concrete5_Bad4" is not assignable to declared type "Template5"   "Concrete5_Bad4" is incompatible with protocol "Template5"     "method1" is an incompatible type @@ -82,8 +82,7 @@ protocols_definition.py:289:22 - error: Type "Concrete5_Bad5" is not assignable     "method1" is an incompatible type       Type "(self: Unknown, a: int, b: int) -> float" is not assignable to type "(a: int, b: int) -> float"         Parameter name mismatch: "a" versus "self" -        Parameter name mismatch: "b" versus "a" -        Extra parameter "b" (reportAssignmentType) +        Parameter name mismatch: "b" versus "a" (reportAssignmentType) protocols_definition.py:339:22 - error: Type "Concrete6_Bad1" is not assignable to declared type "Template6"   "Concrete6_Bad1" is incompatible with protocol "Template6"     "val1" is an incompatible type diff --git a/conformance/results/pyright/typeddicts_class_syntax.toml b/conformance/results/pyright/typeddicts_class_syntax.toml index b8d248caf..a3e919ddc 100644 --- a/conformance/results/pyright/typeddicts_class_syntax.toml +++ b/conformance/results/pyright/typeddicts_class_syntax.toml @@ -1,20 +1,12 @@ -conformant = "Partial" -notes = """ -Does not support version-conditional items in `TypedDict` definitions. -""" output = """ typeddicts_class_syntax.py:30:5 - error: TypedDict classes can contain only type annotations (reportGeneralTypeIssues) typeddicts_class_syntax.py:34:5 - error: TypedDict classes can contain only type annotations (reportGeneralTypeIssues) typeddicts_class_syntax.py:39:5 - error: TypedDict classes can contain only type annotations (reportGeneralTypeIssues) typeddicts_class_syntax.py:49:32 - error: TypedDict does not support __init_subclass__ parameter "metaclass" (reportGeneralTypeIssues) typeddicts_class_syntax.py:54:32 - error: TypedDict does not support __init_subclass__ parameter "other" (reportGeneralTypeIssues) -typeddicts_class_syntax.py:62:5 - error: TypedDict classes can contain only type annotations (reportGeneralTypeIssues) -typeddicts_class_syntax.py:64:5 - error: TypedDict classes can contain only type annotations (reportGeneralTypeIssues) typeddicts_class_syntax.py:69:1 - error: No overloads for "__init__" match the provided arguments   Argument types: (Literal[1], Literal[2], Literal[3]) (reportCallIssue) """ -conformance_automated = "Fail" +conformance_automated = "Pass" errors_diff = """ -Line 62: Unexpected errors ['typeddicts_class_syntax.py:62:5 - error: TypedDict classes can contain only type annotations (reportGeneralTypeIssues)'] -Line 64: Unexpected errors ['typeddicts_class_syntax.py:64:5 - error: TypedDict classes can contain only type annotations (reportGeneralTypeIssues)'] """ diff --git a/conformance/results/pyright/typeforms_typeform.toml b/conformance/results/pyright/typeforms_typeform.toml index 4b75ffd63..71610b09b 100644 --- a/conformance/results/pyright/typeforms_typeform.toml +++ b/conformance/results/pyright/typeforms_typeform.toml @@ -1,70 +1,28 @@ -conformant = "Unsupported" -conformance_automated = "Fail" +conformance_automated = "Pass" errors_diff = """ -Line 70: Expected 1 errors -Line 71: Expected 1 errors -Line 72: Expected 1 errors -Line 74: Expected 1 errors -Line 15: Unexpected errors ['typeforms_typeform.py:15:29 - error: Type "UnionType" is not assignable to declared type "TypeForm[str | None]"'] -Line 17: Unexpected errors ['typeforms_typeform.py:17:29 - error: Type "None" is not assignable to declared type "TypeForm[str | None]"'] -Line 19: Unexpected errors ['typeforms_typeform.py:19:29 - error: Type "UnionType" is not assignable to declared type "TypeForm[str | None]"'] -Line 20: Unexpected errors ['typeforms_typeform.py:20:29 - error: Type "Literal[\\'str | None\\']" is not assignable to declared type "TypeForm[str | None]"'] -Line 21: Unexpected errors ['typeforms_typeform.py:21:29 - error: Type "type[Any]" is not assignable to declared type "TypeForm[str | None]"'] -Line 29: Unexpected errors ['typeforms_typeform.py:29:24 - error: Type "UnionType" is not assignable to declared type "TypeForm[Any]"'] -Line 32: Unexpected errors ['typeforms_typeform.py:32:13 - error: "assert_type" mismatch: expected "TypeForm[str]" but received "type[str]" (reportAssertTypeFailure)'] -Line 47: Unexpected errors ['typeforms_typeform.py:47:38 - error: Type "UnionType" is not assignable to declared type "TypeForm[str | None]"'] -Line 49: Unexpected errors ['typeforms_typeform.py:49:33 - error: Type "type[list[int]]" is not assignable to declared type "GenericAlias"'] -Line 52: Unexpected errors ['typeforms_typeform.py:52:27 - error: Type "Annotated" is not assignable to declared type "TypeForm[int | str]"'] -Line 53: Unexpected errors ['typeforms_typeform.py:53:26 - error: Type "Literal[\\'set[str]\\']" is not assignable to declared type "TypeForm[set[str]]"'] -Line 58: Unexpected errors ['typeforms_typeform.py:58:7 - error: Argument of type "Literal[\\'int\\']" cannot be assigned to parameter "x" of type "TypeForm[Unknown]" in function "func1"'] -Line 81: Unexpected errors ['typeforms_typeform.py:81:13 - error: "assert_type" mismatch: expected "TypeForm[str | None]" but received "UnionType" (reportAssertTypeFailure)'] -Line 84: Unexpected errors ['typeforms_typeform.py:84:13 - error: "assert_type" mismatch: expected "TypeForm[list[int]]" but received "type[list[int]]" (reportAssertTypeFailure)'] """ output = """ -typeforms_typeform.py:15:29 - error: Type "UnionType" is not assignable to declared type "TypeForm[str | None]" -  "UnionType" is not assignable to "TypeForm[str | None]" (reportAssignmentType) -typeforms_typeform.py:17:29 - error: Type "None" is not assignable to declared type "TypeForm[str | None]" -  "None" is not assignable to "TypeForm[str | None]" (reportAssignmentType) -typeforms_typeform.py:19:29 - error: Type "UnionType" is not assignable to declared type "TypeForm[str | None]" -  "UnionType" is not assignable to "TypeForm[str | None]" (reportAssignmentType) -typeforms_typeform.py:20:29 - error: Type "Literal['str | None']" is not assignable to declared type "TypeForm[str | None]" -  "Literal['str | None']" is not assignable to "TypeForm[str | None]" (reportAssignmentType) -typeforms_typeform.py:21:29 - error: Type "type[Any]" is not assignable to declared type "TypeForm[str | None]" -  Type "Any" is not assignable to type "str | None" -    "Any" is not assignable to "str" -    "Any" is not assignable to "None" (reportAssignmentType) typeforms_typeform.py:23:30 - error: Type "UnionType" is not assignable to declared type "TypeForm[str | None]"   "UnionType" is not assignable to "TypeForm[str | None]" (reportAssignmentType) typeforms_typeform.py:24:30 - error: Type "type[list[str | None]]" is not assignable to declared type "TypeForm[str | None]"   Type "list[str | None]" is not assignable to type "str | None"     "list[str | None]" is not assignable to "str"     "list[str | None]" is not assignable to "None" (reportAssignmentType) -typeforms_typeform.py:29:24 - error: Type "UnionType" is not assignable to declared type "TypeForm[Any]" -  "UnionType" is not assignable to "TypeForm[Any]" (reportAssignmentType) -typeforms_typeform.py:32:13 - error: "assert_type" mismatch: expected "TypeForm[str]" but received "type[str]" (reportAssertTypeFailure) -typeforms_typeform.py:47:38 - error: Type "UnionType" is not assignable to declared type "TypeForm[str | None]" -  "UnionType" is not assignable to "TypeForm[str | None]" (reportAssignmentType) -typeforms_typeform.py:49:33 - error: Type "type[list[int]]" is not assignable to declared type "GenericAlias" -  Type "type[list[int]]" is not assignable to type "GenericAlias" (reportAssignmentType) -typeforms_typeform.py:52:27 - error: Type "Annotated" is not assignable to declared type "TypeForm[int | str]" -  "Annotated" is not assignable to "TypeForm[int | str]" (reportAssignmentType) -typeforms_typeform.py:53:26 - error: Type "Literal['set[str]']" is not assignable to declared type "TypeForm[set[str]]" -  "Literal['set[str]']" is not assignable to "TypeForm[set[str]]" (reportAssignmentType) -typeforms_typeform.py:58:7 - error: Argument of type "Literal['int']" cannot be assigned to parameter "x" of type "TypeForm[Unknown]" in function "func1" -  "Literal['int']" is not assignable to "TypeForm[Unknown]" (reportArgumentType) -typeforms_typeform.py:59:7 - error: Argument of type "Literal['not a type']" cannot be assigned to parameter "x" of type "TypeForm[Unknown]" in function "func1" -  "Literal['not a type']" is not assignable to "TypeForm[Unknown]" (reportArgumentType) -typeforms_typeform.py:67:18 - error: Type "tuple[()]" is not assignable to declared type "TypeForm[Unknown]" -  "tuple[()]" is not assignable to "TypeForm[Unknown]" (reportAssignmentType) -typeforms_typeform.py:68:18 - error: Type "tuple[Literal[1], Literal[2]]" is not assignable to declared type "TypeForm[Unknown]" -  "tuple[Literal[1], Literal[2]]" is not assignable to "TypeForm[Unknown]" (reportAssignmentType) -typeforms_typeform.py:69:18 - error: Type "Literal[1]" is not assignable to declared type "TypeForm[Unknown]" -  "Literal[1]" is not assignable to "TypeForm[Unknown]" (reportAssignmentType) +typeforms_typeform.py:59:7 - error: Argument of type "Literal['not a type']" cannot be assigned to parameter "x" of type "TypeForm[Any]" in function "func1" +  "Literal['not a type']" is not assignable to "TypeForm[Any]" (reportArgumentType) +typeforms_typeform.py:67:18 - error: Type "tuple[()]" is not assignable to declared type "TypeForm[Any]" +  "tuple[()]" is not assignable to "TypeForm[Any]" (reportAssignmentType) +typeforms_typeform.py:68:18 - error: Type "tuple[Literal[1], Literal[2]]" is not assignable to declared type "TypeForm[Any]" +  "tuple[Literal[1], Literal[2]]" is not assignable to "TypeForm[Any]" (reportAssignmentType) +typeforms_typeform.py:69:18 - error: Type "Literal[1]" is not assignable to declared type "TypeForm[Any]" +  "Literal[1]" is not assignable to "TypeForm[Any]" (reportAssignmentType) +typeforms_typeform.py:70:18 - error: "Self" is not valid in this context (reportGeneralTypeIssues) +typeforms_typeform.py:71:18 - error: "ClassVar" is not allowed in this context (reportInvalidTypeForm) +typeforms_typeform.py:72:18 - error: "Final" is not allowed in this context (reportInvalidTypeForm) typeforms_typeform.py:73:25 - error: Type variable "Ts" has no meaning in this context (reportGeneralTypeIssues) -typeforms_typeform.py:75:18 - error: Type "Literal['int + str']" is not assignable to declared type "TypeForm[Unknown]" -  "Literal['int + str']" is not assignable to "TypeForm[Unknown]" (reportAssignmentType) -typeforms_typeform.py:81:13 - error: "assert_type" mismatch: expected "TypeForm[str | None]" but received "UnionType" (reportAssertTypeFailure) -typeforms_typeform.py:84:13 - error: "assert_type" mismatch: expected "TypeForm[list[int]]" but received "type[list[int]]" (reportAssertTypeFailure) +typeforms_typeform.py:74:18 - error: Expected one type argument after "Optional" (reportInvalidTypeForm) +typeforms_typeform.py:75:18 - error: Type "Literal['int + str']" is not assignable to declared type "TypeForm[Any]" +  "Literal['int + str']" is not assignable to "TypeForm[Any]" (reportAssignmentType) typeforms_typeform.py:86:16 - error: type() call should not be used in type expression   Use type[T] instead (reportInvalidTypeForm) typeforms_typeform.py:86:16 - error: Call expression not allowed in type expression (reportInvalidTypeForm) diff --git a/conformance/results/pyright/version.toml b/conformance/results/pyright/version.toml index be295091f..0bcd901b3 100644 --- a/conformance/results/pyright/version.toml +++ b/conformance/results/pyright/version.toml @@ -1 +1 @@ -version = "pyright 1.1.410" +version = "pyright 1.1.414" diff --git a/conformance/results/results.html b/conformance/results/results.html index 4fefddd4e..2c8b034f9 100644 --- a/conformance/results/results.html +++ b/conformance/results/results.html @@ -264,12 +264,12 @@

Python Type System Conformance Test Results

- mypy 2.1.0 + mypy 2.4.0 pycroscope 0.5.0 - pyrefly 1.3.0-dev.1 - pyright 1.1.410 + pyrefly 1.4.0 + pyright 1.1.414 ty 0.0.93 - zuban 0.10.0 + zuban 0.10.1 @@ -431,7 +431,7 @@

Python Type System Conformance Test Results

Pass - Unsupported + Pass Pass Pass @@ -440,7 +440,7 @@

Python Type System Conformance Test Results

0.5 / 1 • 50.0% 0.5 / 1 • 50.0% 1 / 1 • 100.0% - 0 / 1 • 0.0% + 1 / 1 • 100.0% 1 / 1 • 100.0% 1 / 1 • 100.0% @@ -495,7 +495,7 @@

Python Type System Conformance Test Results

specialtypes_sentinels - Unsupported + Pass Pass Pass @@ -530,7 +530,7 @@

Python Type System Conformance Test Results

- 4.5 / 6 • 75.0% + 5.5 / 6 • 91.7% 5.5 / 6 • 91.7% 6 / 6 • 100.0% 5.5 / 6 • 91.7% @@ -616,7 +616,7 @@

Python Type System Conformance Test Results

generics_mixed_variance_inference Pass Pass - Unsupported + Pass Unsupported Pass Pass @@ -749,7 +749,12 @@

Python Type System Conformance Test Results

generics_syntax_declarations - Pass + + Partial +
    +
  • Doesn't flag TypeVar with empty constraints.
  • +
+ Pass Pass Pass @@ -808,12 +813,7 @@

Python Type System Conformance Test Results

Pass Pass - - Partial -
    -
  • Does not correctly solve TypeVarTuple with heterogeneous bounds.
  • -
- + Pass Pass Pass @@ -827,12 +827,7 @@

Python Type System Conformance Test Results

Pass Pass - - Partial -
    -
  • Does not correctly solve TypeVarTuple with heterogeneous bounds.
  • -
- + Pass Pass Pass @@ -942,10 +937,10 @@

Python Type System Conformance Test Results

- 24 / 33 • 72.7% + 23.5 / 33 • 71.2% 33 / 33 • 100.0% + 31 / 33 • 93.9% 30 / 33 • 90.9% - 29 / 33 • 87.9% 32.5 / 33 • 98.5% 33 / 33 • 100.0% @@ -1688,12 +1683,7 @@

Python Type System Conformance Test Results

Pass Pass - - Partial -
    -
  • Infers list[int] for ambiguous overloads with list[Any] arguments, rejecting use as list[str].
  • -
- + Pass Pass Pass @@ -1702,7 +1692,7 @@

Python Type System Conformance Test Results

3.5 / 5 • 70.0% 3.5 / 5 • 70.0% 5 / 5 • 100.0% - 4.5 / 5 • 90.0% + 5 / 5 • 100.0% 5 / 5 • 100.0% 5 / 5 • 100.0% @@ -1834,7 +1824,12 @@

Python Type System Conformance Test Results

Pass Pass Pass - Pass + + Partial +
    +
  • Incorrect type for match_args
  • +
+ dataclasses_order @@ -1950,7 +1945,7 @@

Python Type System Conformance Test Results

15.5 / 16 • 96.9% 16 / 16 • 100.0% 15.5 / 16 • 96.9% - 16 / 16 • 100.0% + 15.5 / 16 • 96.9% @@ -1983,12 +1978,7 @@

Python Type System Conformance Test Results

Pass Pass - - Partial -
    -
  • Does not support version-conditional items in TypedDict definitions.
  • -
- + Pass Pass Pass @@ -2118,7 +2108,7 @@

Python Type System Conformance Test Results

11.5 / 14 • 82.1% 14 / 14 • 100.0% 14 / 14 • 100.0% - 13.5 / 14 • 96.4% + 14 / 14 • 100.0% 14 / 14 • 100.0% 14 / 14 • 100.0% @@ -2274,12 +2264,7 @@

Python Type System Conformance Test Results

Pass Pass - - Partial -
    -
  • Does not treat a complete union of all literal members as equivalent to the enum type.
  • -
- + Pass Pass Pass @@ -2341,7 +2326,7 @@

Python Type System Conformance Test Results

4.5 / 6 • 75.0% 6 / 6 • 100.0% 6 / 6 • 100.0% - 5.5 / 6 • 91.7% + 6 / 6 • 100.0% 6 / 6 • 100.0% 6 / 6 • 100.0% @@ -2418,12 +2403,7 @@

Python Type System Conformance Test Results

Pass Pass Pass - - Unsupported -
    -
  • Does not support PEP 800 disjoint-base semantics.
  • -
- + Pass Pass Pass @@ -2517,7 +2497,7 @@

Python Type System Conformance Test Results

10 / 11 • 90.9% 11 / 11 • 100.0% 11 / 11 • 100.0% - 10 / 11 • 90.9% + 11 / 11 • 100.0% 11 / 11 • 100.0% 11 / 11 • 100.0% @@ -2557,12 +2537,12 @@

Python Type System Conformance Test Results

- 109.5 / 146 • 75.0% + 110 / 146 • 75.3% 138.5 / 146 • 94.9% + 142 / 146 • 97.3% + 140.5 / 146 • 96.2% 141 / 146 • 96.6% - 136 / 146 • 93.2% - 141 / 146 • 96.6% - 146 / 146 • 100.0% + 145.5 / 146 • 99.7% diff --git a/conformance/results/zuban/dataclasses_match_args.toml b/conformance/results/zuban/dataclasses_match_args.toml index 1309854f5..c3f9700bc 100644 --- a/conformance/results/zuban/dataclasses_match_args.toml +++ b/conformance/results/zuban/dataclasses_match_args.toml @@ -1,7 +1,12 @@ -conformant = "Pass" -conformance_automated = "Pass" +conformant = "Partial" +notes = """ +Incorrect type for __match_args__ +""" +conformance_automated = "Fail" errors_diff = """ +Line 49: Unexpected errors ['dataclasses_match_args.py:49: error: Expression is of type "tuple[Literal[\\'x\\']]", not "tuple[()]" [misc]'] """ output = """ dataclasses_match_args.py:42: error: "type[DC4]" has no attribute "__match_args__" [attr-defined] +dataclasses_match_args.py:49: error: Expression is of type "tuple[Literal['x']]", not "tuple[()]" [misc] """ diff --git a/conformance/results/zuban/version.toml b/conformance/results/zuban/version.toml index 02d95dc36..4e0e68bd7 100644 --- a/conformance/results/zuban/version.toml +++ b/conformance/results/zuban/version.toml @@ -1 +1 @@ -version = "zuban 0.10.0" +version = "zuban 0.10.1" diff --git a/conformance/uv.lock b/conformance/uv.lock index 2ad9ff23e..c2a66a708 100644 --- a/conformance/uv.lock +++ b/conformance/uv.lock @@ -1,29 +1,49 @@ version = 1 -revision = 3 +revision = 5 requires-python = "==3.12.*" [[package]] name = "ast-serialize" -version = "0.5.0" +version = "0.13.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/81/9d/09e27731bd5864a9ce04e3244074e674bb8936bf62b45e0357248717adac/ast_serialize-0.5.0.tar.gz", hash = "sha256:5880091bfe6f4f986f22866375c2e884843e7a0b6343ae41aeea659613d879b6", size = 61157, upload-time = "2026-05-17T17:48:29.429Z" } +sdist = { url = "https://files.pythonhosted.org/packages/21/d5/5dc1ee8a80c3b20a0b63c61b43ba6bc53517faecd1def47bcd752d22268e/ast_serialize-0.13.1.tar.gz", hash = "sha256:401cc84e8888d4d76f2c8d296fa006ed1a5ff993b6aff90dd777c03973efd025", size = 955137, upload-time = "2026-10-17T00:04:17.183Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e0/9e/dc2530acb3a60dc6e46d65abf27d1d9f86721694757906a148d90a6860de/ast_serialize-0.5.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:0668aa9459cfa8c9c49ddd2163ebcf43088ba045ef7492af6fe22e0098303101", size = 1191380, upload-time = "2026-05-17T17:48:03.738Z" }, - { url = "https://files.pythonhosted.org/packages/26/0a/bd3d18a582f273d6c843d16bb9e22e9e16365ff7991e92f18f798e9f1224/ast_serialize-0.5.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:bf683d6363edf2b39eed6b6d4fe22d34b6203867a67e27134d9e2a2680c4bc4a", size = 1183879, upload-time = "2026-05-17T17:48:05.463Z" }, - { url = "https://files.pythonhosted.org/packages/40/ae/1f919100f8620887af58fcc381c61a1f218cdf89c6e155f87b213e61010a/ast_serialize-0.5.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cc22cf0c9be65e71cf88fda130af60d61eb4a79370ad4cfe7900d48a4aa2211", size = 1244529, upload-time = "2026-05-17T17:48:07.008Z" }, - { url = "https://files.pythonhosted.org/packages/c6/ca/6376559dcce707cdbc1d0d9a13c8d3baaaa501e949ce0ebdc4230cd881aa/ast_serialize-0.5.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f66173891548c9f2726bf27957b41cabce12fa679dc6da505ddbde4d4b3b31cf", size = 1240560, upload-time = "2026-05-17T17:48:08.46Z" }, - { url = "https://files.pythonhosted.org/packages/35/b2/a620e206b5aeb7efbf2710336df57d457cffbb3991076bbcc1147ef9abd4/ast_serialize-0.5.0-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e42d729ef2be96a14efbad355093284739e3670ece3e534f82cc8832790911d9", size = 1451172, upload-time = "2026-05-17T17:48:09.922Z" }, - { url = "https://files.pythonhosted.org/packages/fa/e0/4ad5c04c24a40481b2935ce9a0ccdb6023dc8b667167d06ae530cc3512f2/ast_serialize-0.5.0-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b725026bafa801dbd7310eb13a75f0a2e370e7e51b2cb225f9d21fcfadf919ee", size = 1265072, upload-time = "2026-05-17T17:48:11.469Z" }, - { url = "https://files.pythonhosted.org/packages/b2/71/4d1d479aa56d0101c40e17720c3d6ac2af7269ea0487a80b18e7bfd1a5b7/ast_serialize-0.5.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b54f60c1d78767a53b67eaa663f0dfac3afe606aa07f1301572f588b73d64809", size = 1270488, upload-time = "2026-05-17T17:48:13.575Z" }, - { url = "https://files.pythonhosted.org/packages/6d/4f/0de1bbe06f6edef9fde4ed12ca8e7b3ec7e6e2bd4e672c5af487f7957665/ast_serialize-0.5.0-cp39-abi3-manylinux_2_31_riscv64.whl", hash = "sha256:27d51654fc240a1e87e742d353d98eb45b75f62f129086b3596ab53df2ac2a43", size = 1260702, upload-time = "2026-05-17T17:48:15.141Z" }, - { url = "https://files.pythonhosted.org/packages/75/61/e00872439cfdddcc3c1b6cdaa6e5d904ba8e26a18807c67c4e14409d0ca8/ast_serialize-0.5.0-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2782c36237c46dd1674542f2109740ea5ea485a169bf1431939ada0434e17934", size = 1311182, upload-time = "2026-05-17T17:48:16.779Z" }, - { url = "https://files.pythonhosted.org/packages/76/8e/699a5b955f7926956c95e9e1d74132acad73c2fe7a426f94da89123c20aa/ast_serialize-0.5.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:1943db345233cc7194a470f13afa9c59772c0b123dea0c9414c4d4ca54369759", size = 1421410, upload-time = "2026-05-17T17:48:18.527Z" }, - { url = "https://files.pythonhosted.org/packages/a9/ae/d5b7626874478997adc7a29ab28accf21e596fb590c944290401dfd0b29e/ast_serialize-0.5.0-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:df1c00022cbbcb064bfaa505aa9c9295362443ce5dacb459d1331d3da353f887", size = 1516587, upload-time = "2026-05-17T17:48:20.133Z" }, - { url = "https://files.pythonhosted.org/packages/0c/ce/b59e02a82d9c4244d64cde502e0b00e83e38816abe19155ceb5437402c7f/ast_serialize-0.5.0-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:cae65289fc456fde04af979a2be09302ef5d8ab92ef23e596d6746dc267ada27", size = 1515171, upload-time = "2026-05-17T17:48:21.921Z" }, - { url = "https://files.pythonhosted.org/packages/8b/38/d8d90042747d05aa08d4efcf1c99035a5f670a6bf4c214d31644392afbca/ast_serialize-0.5.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:239a4c354e8d676e9d94631d1d4a64edc6b266f86ff3a5a80aedd344f342c01d", size = 1464668, upload-time = "2026-05-17T17:48:23.544Z" }, - { url = "https://files.pythonhosted.org/packages/dd/51/5b840c4df7334104cecffa28f23904fe81ca89ca223d2450e288de39fd3c/ast_serialize-0.5.0-cp39-abi3-win32.whl", hash = "sha256:143a4ef63285a075871908fda3672dc21864b83a8ec3ee12304aa3e4c5387b9a", size = 1068311, upload-time = "2026-05-17T17:48:25.027Z" }, - { url = "https://files.pythonhosted.org/packages/41/11/ca5672c7d491825bc4cd6702dea106a6b60d928707712ec257c7833ae476/ast_serialize-0.5.0-cp39-abi3-win_amd64.whl", hash = "sha256:cf25572c526add400f26a4750dc6ce0c3bb93fc1f75e7ae0cad4ce4f2cd5c590", size = 1108931, upload-time = "2026-05-17T17:48:26.591Z" }, - { url = "https://files.pythonhosted.org/packages/45/19/cc8bd127d28a43da249aa955cfd164cf8fd534e79e42cea96c4854d72fd0/ast_serialize-0.5.0-cp39-abi3-win_arm64.whl", hash = "sha256:92a31c9c20d25a076edaeec76b128a3535d74a24f340b9a8a7e96c9b86dc9642", size = 1081181, upload-time = "2026-05-17T17:48:28.122Z" }, + { url = "https://files.pythonhosted.org/packages/2b/e2/b0c140fe50fa39dd249e382f7733af6f816c90021fe7959a0b026f86237f/ast_serialize-0.13.1-cp315-abi3.abi3t-macosx_10_12_x86_64.whl", hash = "sha256:23d768369b89d551077dc173da6892fad00443338417523b6732f4e8ba4a7ed5", size = 1236160, upload-time = "2026-10-17T00:03:21.945Z" }, + { url = "https://files.pythonhosted.org/packages/23/c4/a8a2ca21e3943555b48221f8fba546877a7ad39efaf6505506524967d7c4/ast_serialize-0.13.1-cp315-abi3.abi3t-macosx_11_0_arm64.whl", hash = "sha256:68f8829d114dab6c9db4a8bbb8d0e342958faee1b5e15a29022678df639960f8", size = 1222214, upload-time = "2026-10-17T00:03:23.462Z" }, + { url = "https://files.pythonhosted.org/packages/15/19/2f58f2ba64e4799b39de85c140aef09a03aa6ea53be75dd292a9d9b9d8ae/ast_serialize-0.13.1-cp315-abi3.abi3t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e385b17d5bde892a6184003a9aff3518387908b73f8f5ea539313c07c8c0ede", size = 1282979, upload-time = "2026-10-17T00:03:24.695Z" }, + { url = "https://files.pythonhosted.org/packages/b1/af/ca6087fe84210c1ccd43e3182917bb70649fa1e69745a90c1d59ba08fea8/ast_serialize-0.13.1-cp315-abi3.abi3t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:02686b281ec9b8e9614f6f0db27e12e4cac515f336c5d05b678bc9eb73ff2af5", size = 1288596, upload-time = "2026-10-17T00:03:26.04Z" }, + { url = "https://files.pythonhosted.org/packages/b0/2c/4ef964c763329a0347125e745ec0451ba4fbaceec9efe2ac729b7cd55f17/ast_serialize-0.13.1-cp315-abi3.abi3t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a8ab2c2585b2e22e48cd4aff2136fce4eab4ced569b85f150ef9a5a5d6f34d49", size = 1545540, upload-time = "2026-10-17T00:03:27.52Z" }, + { url = "https://files.pythonhosted.org/packages/bb/85/aa961dbb75813cfa94de0ce9a16a9510c226b95f604c405421e727f44bb0/ast_serialize-0.13.1-cp315-abi3.abi3t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c652d9f5d52d8b81eff3ff2c95c9dd0f281de45f6ad5d3fa95527550c396454a", size = 1309374, upload-time = "2026-10-17T00:03:29.091Z" }, + { url = "https://files.pythonhosted.org/packages/b4/e6/f2b67c327d9f9533e41791804403ccc2dc457821195a2e51f0b587a90b90/ast_serialize-0.13.1-cp315-abi3.abi3t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:121e1d08d58b75c15491cc3003609cbad71ac2b0016043c36d30a6b2032b6605", size = 1303466, upload-time = "2026-10-17T00:03:30.451Z" }, + { url = "https://files.pythonhosted.org/packages/73/1d/33f18b81d1bb1f5d682943ea92fda8130a6593627f12f6201668d40824fd/ast_serialize-0.13.1-cp315-abi3.abi3t-manylinux_2_31_riscv64.whl", hash = "sha256:30cf89b6a6844542d116c758725d13de5b97b9410a51ee577715f761270d0c1c", size = 1300576, upload-time = "2026-10-17T00:03:32.102Z" }, + { url = "https://files.pythonhosted.org/packages/25/cb/64914144925f1a4abdd9217e717b122255c38fc5ebe4342f92052f3bacbc/ast_serialize-0.13.1-cp315-abi3.abi3t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:732aaae9e498c973fc63fd7f308009b57c4afa6ff59d0b674d894e57d0bca01a", size = 1355960, upload-time = "2026-10-17T00:03:33.676Z" }, + { url = "https://files.pythonhosted.org/packages/ee/80/bd29379fab2bce19adc0bf9177002b11b23dfe8d8fecf409998b458b4624/ast_serialize-0.13.1-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl", hash = "sha256:d9c1a920b2aa0c1e016bed7721689717034ca0dba64ac3a3ff243b003d4e8dd8", size = 1459779, upload-time = "2026-10-17T00:03:35.09Z" }, + { url = "https://files.pythonhosted.org/packages/83/89/012dbe733de05ffdf8e40ca0f9fa5d417cb16ec93a74463c57c001914198/ast_serialize-0.13.1-cp315-abi3.abi3t-musllinux_1_2_armv7l.whl", hash = "sha256:847cad4c22953823f5e76d0b126c6f9da670cfa45b1df41b9324e22189d77611", size = 1563399, upload-time = "2026-10-17T00:03:37.285Z" }, + { url = "https://files.pythonhosted.org/packages/69/37/ee4bcb0358bee38744eb0f18560446572d095fe3bf6b63d6f739d08a839c/ast_serialize-0.13.1-cp315-abi3.abi3t-musllinux_1_2_i686.whl", hash = "sha256:aca07de3ca8e3d9f2b716c3c31f4f384fe4bd2d03e09912417cff7a3e08036f7", size = 1558808, upload-time = "2026-10-17T00:03:38.711Z" }, + { url = "https://files.pythonhosted.org/packages/54/1c/ff44c5355251d61ef22934c4430bb31a61de4781d25a992154aac9b8c82a/ast_serialize-0.13.1-cp315-abi3.abi3t-musllinux_1_2_ppc64le.whl", hash = "sha256:5db12d843d931b9d1f1519ce66b9cbfe72d8563b75c1204d255322254d1964dd", size = 1666324, upload-time = "2026-10-17T00:03:40.376Z" }, + { url = "https://files.pythonhosted.org/packages/c8/bb/6da4bfc8aa3403e6447607131bf3463acaf954d990c6c8b6787c1902ddfe/ast_serialize-0.13.1-cp315-abi3.abi3t-musllinux_1_2_riscv64.whl", hash = "sha256:fb8021f4dc3296de18737e3b8b34994411da725374d74a0b9eb32a738f2a23d0", size = 1474089, upload-time = "2026-10-17T00:03:41.715Z" }, + { url = "https://files.pythonhosted.org/packages/21/97/897e33bef2eefd880e6350e375cc66bc5bcd00a139be480fd655f5b3f095/ast_serialize-0.13.1-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl", hash = "sha256:0d764913374ba21df8cd618045b371ed104ce55c6276de7c59e554a4f5ba26fd", size = 1501542, upload-time = "2026-10-17T00:03:43.08Z" }, + { url = "https://files.pythonhosted.org/packages/8d/4c/821211ac83870c27e4412381b7c7838336456b40575bf840e4680b2018d9/ast_serialize-0.13.1-cp315-abi3.abi3t-win32.whl", hash = "sha256:2bad302ae2427454ef9dab71bd5c3ad67188860c39d36daee38f72031edb39c4", size = 1126118, upload-time = "2026-10-17T00:03:44.616Z" }, + { url = "https://files.pythonhosted.org/packages/1f/86/2b2d5e6c4fa352874a80618e742ffd32d249dee6c119f4233b51afc6b8f4/ast_serialize-0.13.1-cp315-abi3.abi3t-win_amd64.whl", hash = "sha256:032b09d86c785c3984e975378b7861f2a68ac44e22ba7b07b93a536b2524eeb8", size = 1163766, upload-time = "2026-10-17T00:03:45.986Z" }, + { url = "https://files.pythonhosted.org/packages/77/a3/d610cfcdabaa44fd62a54ca1fc57a7dba120643798b089a14914973562de/ast_serialize-0.13.1-cp315-abi3.abi3t-win_arm64.whl", hash = "sha256:929eda0c419e622ab49df3a4c45f81c57dcc10874bbad55d0470a4a03324dac3", size = 1134043, upload-time = "2026-10-17T00:03:48.453Z" }, + { url = "https://files.pythonhosted.org/packages/81/92/d705be88ff452b9ba0088b554a0cbd308fd01879da092b33fd2ad7d1aa60/ast_serialize-0.13.1-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:4bcf1d5f4eefecaa325a34ecf079b2741189e7d0821523f92cb343a389a67489", size = 1242416, upload-time = "2026-10-17T00:03:51.521Z" }, + { url = "https://files.pythonhosted.org/packages/60/c2/98370845a7f35cb8a25782e78284b48e01bf3128339881d48d613f304f8f/ast_serialize-0.13.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:1b158f1c9e3a0d386913924c57995d6df78224868a4d0f215bdd41587c97b34a", size = 1229729, upload-time = "2026-10-17T00:03:52.825Z" }, + { url = "https://files.pythonhosted.org/packages/d8/8b/2d7ffed76addd9d3fcf37fb171400942735c8912264c763561a85407f6a8/ast_serialize-0.13.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77a6201b69ce42e919f2fd9a559138d5410b5d8afff7c3a6b1f500b0481ff7d8", size = 1292255, upload-time = "2026-10-17T00:03:54.148Z" }, + { url = "https://files.pythonhosted.org/packages/6b/2a/bb9e0e719d89cc950fadfcfcc9cb4bc7640419c4228c852f031ab8abf440/ast_serialize-0.13.1-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6eb0be64c9b8f1ed26637eef345abe75ea90351c92c85a8aec7838b3af971011", size = 1298501, upload-time = "2026-10-17T00:03:55.559Z" }, + { url = "https://files.pythonhosted.org/packages/7a/32/13ce07dce48226f5bd9cfd8f708ec101a8be05aa430cda4918ce31ce8c82/ast_serialize-0.13.1-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7f2427bddfca208e84de700044fadf9aef2769a70bae740a1bdabb89ee9e1117", size = 1553758, upload-time = "2026-10-17T00:03:56.952Z" }, + { url = "https://files.pythonhosted.org/packages/e2/fb/9b51d186db0c20ca28cbaaefd50f03b573c89327b9a2627820cbce22196b/ast_serialize-0.13.1-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:88df960e67184a71874e5b2ee014f87d1254a0dbc1f903c7bd7b1ab7733ecaef", size = 1318258, upload-time = "2026-10-17T00:03:58.418Z" }, + { url = "https://files.pythonhosted.org/packages/c5/fa/da311559dd3dae9af5825cf21660775a929b970f72e3786af3f2cd667944/ast_serialize-0.13.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f99786e0d62082a5b121b3437f3167562133711df22128de1e9886f57f0b226", size = 1313260, upload-time = "2026-10-17T00:04:00.194Z" }, + { url = "https://files.pythonhosted.org/packages/2b/11/97a4b9e5b4776d72f47fcd9a09a497bbf68ec8c1ae074307a2c51e410d85/ast_serialize-0.13.1-cp39-abi3-manylinux_2_31_riscv64.whl", hash = "sha256:a01b515b25a03184eff4acef25b981ae007916379682e908fc8785b342a0bf3e", size = 1309992, upload-time = "2026-10-17T00:04:01.575Z" }, + { url = "https://files.pythonhosted.org/packages/2e/c4/62f85121a80cd451ef04f550cf0f7ea0ad9ff46cc4e9a5b9ae439b6527b1/ast_serialize-0.13.1-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:29422d7bcd9e7f39411571c36cec45ce8a7a9b3ad4b2e7aa64497c15a9e397f6", size = 1362715, upload-time = "2026-10-17T00:04:02.881Z" }, + { url = "https://files.pythonhosted.org/packages/c1/fa/c5f4a545f72a7681e3295bab6e3600ee0862ec4391bed961fe9f735b67e0/ast_serialize-0.13.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:6ffb0f548a7dc126067fdfb7b2325ab5dfcdeecc29faf5e0f0461c96d6ebfa3d", size = 1469931, upload-time = "2026-10-17T00:04:04.181Z" }, + { url = "https://files.pythonhosted.org/packages/38/a9/65aed4f8fa7a001a7cfdc03e68e844517ab041ba6fb614b7d78a1d6ac056/ast_serialize-0.13.1-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:2876444a5f87a7c76f371af3c07c2fda563a08bc8af52568df812e8aba4bf568", size = 1570945, upload-time = "2026-10-17T00:04:05.778Z" }, + { url = "https://files.pythonhosted.org/packages/fb/8c/44b2da991cede79bfbf52089f33a5f0168945466b3d9cd38b5dcf08e7130/ast_serialize-0.13.1-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:885a62ec6481ce58ab24c6357360d7a82023b62dd7e5e7ceccf59e9662a3272b", size = 1569978, upload-time = "2026-10-17T00:04:07.347Z" }, + { url = "https://files.pythonhosted.org/packages/46/e4/109b2a5beca700237767d5add920c2f8e1ba9bd5799b0faf143d0e9cf4ef/ast_serialize-0.13.1-cp39-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:2015fd0165e463aac3b1aadc6a1fa1e5820c14ca950821f4fe02f8a3f6a388d6", size = 1676082, upload-time = "2026-10-17T00:04:08.7Z" }, + { url = "https://files.pythonhosted.org/packages/73/e0/7df70f6dbb11b5762da5416318f08316a1c51348e0d69ec79ca5f98f836a/ast_serialize-0.13.1-cp39-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:eb41e1906502ac80d24ff343f45008552a3f5b5158607959fe6a07dbfc6eb037", size = 1483207, upload-time = "2026-10-17T00:04:10.162Z" }, + { url = "https://files.pythonhosted.org/packages/1f/bc/523aa1c08bd69b5654621beb3dc1a9035715a4a63762fb8d219d6fb3eb81/ast_serialize-0.13.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:ca9acc67f796aa2554fa3037dccc022a4b08b38b2ad153edfac9c9bb7cb1f3c6", size = 1512140, upload-time = "2026-10-17T00:04:11.589Z" }, + { url = "https://files.pythonhosted.org/packages/66/83/6607060659998f00afdea0d8375c1e6e2b7d515ab905090d9a5a02f48851/ast_serialize-0.13.1-cp39-abi3-win32.whl", hash = "sha256:4f98da562e5901d69c7dd30885594c5438f859edf354e9ac7517d188fb026c3a", size = 1131889, upload-time = "2026-10-17T00:04:12.953Z" }, + { url = "https://files.pythonhosted.org/packages/9f/6f/bafd6490fe7b355627fabe95f4417e3d02da93102c8552550eb9a0774e1e/ast_serialize-0.13.1-cp39-abi3-win_amd64.whl", hash = "sha256:ddf7cbc9c8abf70102c4a088efe154bb86bfb825b0a10e556d2b15972cf99bd7", size = 1171153, upload-time = "2026-10-17T00:04:14.362Z" }, + { url = "https://files.pythonhosted.org/packages/11/25/4235f4b375a67a37ac595bf478a5407a744eaf7b64113c1c3a5432b8d954/ast_serialize-0.13.1-cp39-abi3-win_arm64.whl", hash = "sha256:48f11d96c9ec71119612f8e79a8c55c12f2b136716d68347433c561d27a25f43", size = 1139035, upload-time = "2026-10-17T00:04:15.767Z" }, ] [[package]] @@ -49,23 +69,25 @@ wheels = [ [[package]] name = "librt" -version = "0.11.0" +version = "0.16.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/40/08/9e7f6b5d2b5bed6ad055cdd5925f192bb403a51280f86b56554d9d0699a2/librt-0.11.0.tar.gz", hash = "sha256:075dc3ef4458a278e0195cbf6ac9d38808d9b906c5a6c7f7f79c3888276a3fb1", size = 200139, upload-time = "2026-05-10T18:17:25.138Z" } +sdist = { url = "https://files.pythonhosted.org/packages/04/f5/9dc696772d241814bacac7880bac32f2930b5a6ebc1f85317b83161a011c/librt-0.16.0.tar.gz", hash = "sha256:ac38d6d8d66bf3d744148dbbc0b8e193e195a51e364ed55e224631f5721891fc", size = 219839, upload-time = "2026-09-29T00:55:32.891Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8b/d0/07c77e067f0838949b43bd89232c29d72efebb9d2801a9750184eb706b71/librt-0.11.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b87504f1690a23b9a2cca841191a04f83895d4fc2dd04df91d82b1a04ca2ad46", size = 144147, upload-time = "2026-05-10T18:15:53.227Z" }, - { url = "https://files.pythonhosted.org/packages/7a/24/8493538fa4f62f982686398a5b8f68008138a75086abdea19ade64bf4255/librt-0.11.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40071fc5fe0ce8daa6de616702314a01e1250711682b0523d6ab8d4525910cb3", size = 143614, upload-time = "2026-05-10T18:15:54.657Z" }, - { url = "https://files.pythonhosted.org/packages/ff/1e/f8bad050810d9171f34a1648ed910e56814c2ba61639f2bd53c6377ae24b/librt-0.11.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:137e79445c896a0ea7b265f52d23954e05b64222ee1af69e2cb34219067cbb67", size = 485538, upload-time = "2026-05-10T18:15:56.117Z" }, - { url = "https://files.pythonhosted.org/packages/c0/fe/3594ebfbaf03084ba4b120c9ba5c3183fd938a48725e9bbe6ff0a5159ad8/librt-0.11.0-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:cca6644054e78746d8d4ef238681f9c34ff8b584fe6b988ecebb8db3b15e622a", size = 479623, upload-time = "2026-05-10T18:15:57.544Z" }, - { url = "https://files.pythonhosted.org/packages/b0/da/5d1876984b3746c85dbd219dbfcb73c85f54ee263fd32e5b2a632ec14571/librt-0.11.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d5b0eea49f5562861ee8d757a32ef7d559c1d35be2aaaa1ec28941d74c9ffc8a", size = 513082, upload-time = "2026-05-10T18:15:58.805Z" }, - { url = "https://files.pythonhosted.org/packages/19/6e/55bdf5d5ca00c3e18430690bf2c953d8d3ffd3c337418173d33dec985dc9/librt-0.11.0-cp312-cp312-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0d1029d7e1ae1a7e647ed6fb5df8c4ce2dffefb7a9f5fd1376a4554d96dac09f", size = 508105, upload-time = "2026-05-10T18:16:00.2Z" }, - { url = "https://files.pythonhosted.org/packages/07/10/f1f23a7c595ee90ece4d35c851e5d104b1311a887ed1b4ac4c35bbd13da8/librt-0.11.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bc3ce6b33c5828d9e80592011a5c584cb2ce86edbc4088405f70da47dc1d1b3b", size = 522268, upload-time = "2026-05-10T18:16:01.708Z" }, - { url = "https://files.pythonhosted.org/packages/b6/02/5720f5697a7f54b78b3aefbe20df3a48cedcff1276618c4aa481177942ed/librt-0.11.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:936c5995f3514a42111f20099397d8177c79b4d7e70961e396c6f5a0a3566766", size = 527348, upload-time = "2026-05-10T18:16:03.496Z" }, - { url = "https://files.pythonhosted.org/packages/50/db/b4a47c6f91db4ff76348a0b3dd0cc65e090a078b765a810a62ff9434c3d3/librt-0.11.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:9bc0ca6ad9381cbe8e4aa6e5726e4c80c78115a6e9723c599ed1d73e092bc49d", size = 516294, upload-time = "2026-05-10T18:16:05.173Z" }, - { url = "https://files.pythonhosted.org/packages/9e/58/9384b2f4eb1ed1d273d40948a7c5c4b2360213b402ef3be4641c06299f9c/librt-0.11.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:070aa8c26c0a74774317a72df8851facc7f0f012a5b406557ac56992d92e1ec8", size = 553608, upload-time = "2026-05-10T18:16:06.839Z" }, - { url = "https://files.pythonhosted.org/packages/21/7b/5aa8848a7c6a9278c79375146da1812e695754ceec5f005e6043461a7315/librt-0.11.0-cp312-cp312-win32.whl", hash = "sha256:6bf14feb84b05ae945277395451998c89c54d0def4070eb5c08de544930b245a", size = 101879, upload-time = "2026-05-10T18:16:08.103Z" }, - { url = "https://files.pythonhosted.org/packages/37/33/8a745436944947575b584231750a41417de1a38cf6a2e9251d1065651c09/librt-0.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:75672f0bc524ede266287d532d7923dbce94c7514ad07627bac3d0c6d92cc4d9", size = 119831, upload-time = "2026-05-10T18:16:09.174Z" }, - { url = "https://files.pythonhosted.org/packages/59/67/a6739ac96e28b7855808bdb0370e250606104a859750d209e5a0716fe7ab/librt-0.11.0-cp312-cp312-win_arm64.whl", hash = "sha256:2f10cf143e4a9bb0f4f5af568a00df94a2d69ef41c2579584454bb0fe5cc642c", size = 103470, upload-time = "2026-05-10T18:16:10.369Z" }, + { url = "https://files.pythonhosted.org/packages/ad/76/bbdaeb87b7c47b5c7343e90222b9bfa4e4a8a83f647e02933ad0129225b1/librt-0.16.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fe52bf4641069e7978a14253b036cb9002def1926317e710f2e249f8a8c47742", size = 151028, upload-time = "2026-09-29T00:52:41.508Z" }, + { url = "https://files.pythonhosted.org/packages/fd/0c/ab8ed3dab0085931aec4a792c7eaac8dc6c5ff4691fda3a5360d9d8a9cd2/librt-0.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5bcc2c4726ced915b00de0c9856a4eeabfb3fddb93e10e0b8f735b7709358b6d", size = 155283, upload-time = "2026-09-29T00:52:42.873Z" }, + { url = "https://files.pythonhosted.org/packages/eb/36/494e79d460c80c1f030661e8287c9eca5e1ad652dc2b2180b6cd42abce0a/librt-0.16.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ff7baa55f8e7c69851419e50a666015d02a74198716fd45c0125a2112e0a389f", size = 503185, upload-time = "2026-09-29T00:52:44.638Z" }, + { url = "https://files.pythonhosted.org/packages/9b/34/a8464038dd9db6e4381fa2b6eb73dc9a50888d77102c4c139304ac35cddc/librt-0.16.0-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.manylinux_2_28_i686.whl", hash = "sha256:b95d5d92ab83d39e760a52091bb1baba664f3a2351e39b1e16801e5747c2f0e9", size = 496738, upload-time = "2026-09-29T00:52:46.441Z" }, + { url = "https://files.pythonhosted.org/packages/6a/53/e0e5e334ef0c6ed27039d323819368b9ef6712be87d55ee2bf9799398afd/librt-0.16.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b6d085d70bce51d43c5c7c36d63490770180d8779e71c49305c87b4213918de7", size = 513818, upload-time = "2026-09-29T00:52:48.068Z" }, + { url = "https://files.pythonhosted.org/packages/ad/f7/7ce72cbf19d0addd05090b339152fd0548a02562c2866a603e6e3b3da2df/librt-0.16.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:36e53948e99bbe3ffea257124cfcae1cfb01831555c9a9c903c9f9a72db7fd07", size = 531952, upload-time = "2026-09-29T00:52:49.816Z" }, + { url = "https://files.pythonhosted.org/packages/83/22/0b1bcb6a8e723c8b4fd60dfc8ae8ec6461c54073fbc8685efeb8d900d407/librt-0.16.0-cp312-cp312-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:54d11f726aae9df5a6ffbbf0a03a52449bbac84a53ef03669cb41cdfd4ae41bf", size = 524465, upload-time = "2026-09-29T00:52:51.354Z" }, + { url = "https://files.pythonhosted.org/packages/64/2e/e9c23b8b9df1813da1be205deca9606beb7ddd033972246cd426d05374a0/librt-0.16.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4323193ac0cd025f85af531df8ba91bf24d1973b401697347a6282e8fd3fcf5e", size = 543191, upload-time = "2026-09-29T00:52:53.284Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e5/6a8b21b342c03ed7e230fa3afbfd2edc58e6e87ef1f0d11fa2b9a748c252/librt-0.16.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e42f8e098b9c5396fefa05fb1cc7e33b0e08fc51da106b5de4a45fd22aac6743", size = 546979, upload-time = "2026-09-29T00:52:54.932Z" }, + { url = "https://files.pythonhosted.org/packages/84/9e/b5129023eced1be01e01c22757f53be551d463b1bb7264f787927404c1d6/librt-0.16.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:39ec1d5a14e37baf1450a6cabf03fe552340808bf1ad9d71824ab90117716459", size = 555317, upload-time = "2026-09-29T00:52:56.869Z" }, + { url = "https://files.pythonhosted.org/packages/71/89/28bba5938c725fe91f06bf93f7fa6c6b150229df53a87b454b0d5c2a796e/librt-0.16.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:d1aabe3925cbb4a08d15b7b20ba4011b53019da0c4173a25155139b7b1baed65", size = 535846, upload-time = "2026-09-29T00:52:58.475Z" }, + { url = "https://files.pythonhosted.org/packages/22/92/63773026614f888c5d4e370e395ce42ca604b89f70b3acdfedbf94851b80/librt-0.16.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:300c3ffdc459f4a779a8411ecb188e3ac0b1ff3a3a7b099642555dedae06c69b", size = 573700, upload-time = "2026-09-29T00:53:00.127Z" }, + { url = "https://files.pythonhosted.org/packages/66/8f/347d4677eefb57cd9f8e01d95a1dcee9a91b4e44e664173c32ff6f3752e5/librt-0.16.0-cp312-cp312-win32.whl", hash = "sha256:c17194318e4c0c0348b36f36c2ec7534436fe0a4c15582403162a4f08c80797a", size = 106158, upload-time = "2026-09-29T00:53:02.031Z" }, + { url = "https://files.pythonhosted.org/packages/f0/2c/5193dc81127cd5ddfad031391b046bf32dda219b38463ab872407ca30646/librt-0.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:25a58a19ea8d83b68209f04912df765e9260635ef77646542ed4b4abe6bc7940", size = 126176, upload-time = "2026-09-29T00:53:03.445Z" }, + { url = "https://files.pythonhosted.org/packages/ff/3d/9668a400c8dd81d162eba38b33fa49fa6205f1a64493570a13fbb815c3ee/librt-0.16.0-cp312-cp312-win_arm64.whl", hash = "sha256:f7be7cf555bc30ec12622e9447299cc4a9b8ff307548b634794353db0c2065dc", size = 116572, upload-time = "2026-09-29T00:53:04.815Z" }, ] [[package]] @@ -98,7 +120,7 @@ wheels = [ [[package]] name = "mypy" -version = "2.1.0" +version = "2.4.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "ast-serialize" }, @@ -107,16 +129,15 @@ dependencies = [ { name = "pathspec" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/82/15/cca9d88503549ed6fedeaa1d448cdddd542ee8a490232d732e278036fbf2/mypy-2.1.0.tar.gz", hash = "sha256:81e76ad12c2d804512e9b13240d1588316531bfba07558286078bfbce9613633", size = 3898359, upload-time = "2026-05-11T18:37:36.237Z" } +sdist = { url = "https://files.pythonhosted.org/packages/34/4e/64300736cf0a0373a27b94a91b664ee7382e36f77b0621bae6381da3e180/mypy-2.4.0.tar.gz", hash = "sha256:77bdaebd452f43fcfc4cc3ba94352a3ea537cd01e3f2d0879f48673d2ec00d6e", size = 4064425, upload-time = "2026-10-01T20:40:39.229Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/95/b1/55861beb5c339b44f9a2ba92df9e2cb1eeb4ae1eee674cdf7772c797778b/mypy-2.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:244358bf1c0da7722230bce60683d52e8e9fd030554926f15b747a84efb5b3af", size = 14874381, upload-time = "2026-05-11T18:37:31.784Z" }, - { url = "https://files.pythonhosted.org/packages/0b/b3/b7f770114b7d0ac92d0f76e8d93c2780844a70488a90e91821927850da86/mypy-2.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4ec7c57657493c7a75534df2751c8ae2cda383c16ecc55d2106c54476b1b16f6", size = 13665501, upload-time = "2026-05-11T18:34:23.063Z" }, - { url = "https://files.pythonhosted.org/packages/b6/f3/8ae2037967e2126689a0c11d99e2b707134a565191e92c60ca2572aec60a/mypy-2.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d8161b6ff4392410023224f0969d17db93e1e154bc3e4ba62598e720723ae211", size = 14045750, upload-time = "2026-05-11T18:31:48.151Z" }, - { url = "https://files.pythonhosted.org/packages/a0/32/615eb5911859e43d054941b0d0a7d06cfa2870eba86529cf385b052b111c/mypy-2.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bf03e12003084a67395184d3eb8cbd6a489dc3655b5664b28c210a9e2403ab0b", size = 15061630, upload-time = "2026-05-11T18:37:06.898Z" }, - { url = "https://files.pythonhosted.org/packages/d4/03/4eafbfff8bfab1b87082741eae6e6a624028c984e6708b73bce2a8570c9d/mypy-2.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:20509760fd791c51579d573153407d226385ec1f8bcce55d730b354f3336bc22", size = 15288831, upload-time = "2026-05-11T18:31:18.07Z" }, - { url = "https://files.pythonhosted.org/packages/99/ee/919661478e5891a3c96e549c036e467e64563ab85995b10c53c8358e16a3/mypy-2.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:6753d0c1fdd6b1a23b9e4f283ce80b2153b724adcb2653b20b85a8a28ac6436b", size = 11135228, upload-time = "2026-05-11T18:34:31.23Z" }, - { url = "https://files.pythonhosted.org/packages/24/0a/6a12b9782ca0831a553192f351679f4548abc9d19a7cc93bb7feb02084c7/mypy-2.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:98ebb6589bb3b6d0c6f0c459d53ca55b8091fbc13d277c4041c885392e8195e8", size = 10040684, upload-time = "2026-05-11T18:36:48.199Z" }, - { url = "https://files.pythonhosted.org/packages/0d/2a/13ca1f292f6db1b98ff495ef3467736b331621c5917cad984b7043e7348d/mypy-2.1.0-py3-none-any.whl", hash = "sha256:a663814603a5c563fb87a4f96fb473eeb30d1f5a4885afcf44f9db000a366289", size = 2693302, upload-time = "2026-05-11T18:31:29.246Z" }, + { url = "https://files.pythonhosted.org/packages/68/ed/e5d7cf4017e74a1c1e1c4058ce8f614fc1e3e7606564f47166e22bfc9f95/mypy-2.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e05ff2925d8b37ad26c80c1b9dc43ae5d455da2df1e23c24c095a6425917c57e", size = 14378593, upload-time = "2026-10-01T20:38:48.222Z" }, + { url = "https://files.pythonhosted.org/packages/30/7d/12d994886a922f0f1997becc9c6625198d61eeb5962558a886af7dd38d54/mypy-2.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:29243242cf72582b65f9582ad9e56e8cb281566ed3519f4cd70bb8b9f2977e90", size = 14464697, upload-time = "2026-10-01T20:39:11.059Z" }, + { url = "https://files.pythonhosted.org/packages/f3/9e/bcc9af755425ad17790bf11d73c2ea7592914cf309ee1340997670f9d57a/mypy-2.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:29eb0b9427a6b11b992e452f6cceb8af724f4dceb47e779d0b35e405e996ea5e", size = 15552257, upload-time = "2026-10-01T20:39:56.269Z" }, + { url = "https://files.pythonhosted.org/packages/af/0c/3343fc4525d6f00d75ad17a93a9f052d5163641cb8911840d4a12cb59ff2/mypy-2.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e3ebe2f72a2a1156065a9851570ffbf50c0a93cdccadef9c6e05c508a4fd10b1", size = 15800443, upload-time = "2026-10-01T20:38:54.815Z" }, + { url = "https://files.pythonhosted.org/packages/8f/0e/69aac6b8159da7c53e6115a2be1bf48e85503402cadbf506dd708e8b2ad7/mypy-2.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:236e0d68f6941992b0811128e652590f590db444ab29ad8f1324765b9298b946", size = 11381574, upload-time = "2026-10-01T20:39:49.406Z" }, + { url = "https://files.pythonhosted.org/packages/6e/d3/d32ce4feb5993eec09d2024bef16cedc9b93701b1446b86092f08b24491b/mypy-2.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:82d0f94c8587ccb472622ee7795280aaa38a06640d5f45b3f16909d6dd86a989", size = 10944729, upload-time = "2026-10-01T20:40:15.203Z" }, + { url = "https://files.pythonhosted.org/packages/81/12/46ae8670c98a3cd0286ca5645c2f918f8f6be65edfed81b916010619f668/mypy-2.4.0-py3-none-any.whl", hash = "sha256:d01c5d26a352acc6d5cf3128225477e1e8465e8d3029d4c345807fbf7f3cf093", size = 2800734, upload-time = "2026-10-01T20:39:26.837Z" }, ] [[package]] @@ -161,34 +182,34 @@ wheels = [ [[package]] name = "pyrefly" -version = "1.3.0.dev1" +version = "1.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a5/de/fe8d8567d1d092f5d67bb8bbe0863a44919482a37febc79db8aa88088532/pyrefly-1.3.0.dev1.tar.gz", hash = "sha256:189e0e1d3212ab4ecff1d058f9e095fa9711e5e4c19436f7370ceef05d1788fd", size = 6306791, upload-time = "2026-08-07T01:56:51.009Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b3/3e/ea6893be167fa14307d7f9a924bed9ecbbbd91b01953890b9b3c58ed5359/pyrefly-1.4.0.tar.gz", hash = "sha256:bb57c004a4842cfe93f93aebb5203ca6209a5f0c8bda47e8bc289e70940fd910", size = 6962062, upload-time = "2026-10-15T16:54:11.819Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ba/6a/ca1ea8084f000ecbf7d6a2a8cde3f2d6f437d0d527f5f0bda0a383fb011f/pyrefly-1.3.0.dev1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:327e245a54357794954a7788d22dd446b90dcc403d0d82414b0b20b6fa37648c", size = 14210092, upload-time = "2026-08-07T01:56:17.895Z" }, - { url = "https://files.pythonhosted.org/packages/a2/df/0f405798d99900a6809483db0262c820ccccdf13b379789d9280d848b9a0/pyrefly-1.3.0.dev1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:00e5d88265c5e3088ac566dd4cf542a13f93e76f7672b738c1306d5d5cae6123", size = 13639017, upload-time = "2026-08-07T01:56:21.181Z" }, - { url = "https://files.pythonhosted.org/packages/4b/28/a41e1daab805124cdefc46566251555bbe0caf24668a851393971eb5cbd7/pyrefly-1.3.0.dev1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c2dcce81731dcc0dcd199b6b0117ebd3df2ee1fc4910f508cb84aa7615182f28", size = 14084976, upload-time = "2026-08-07T01:56:24.551Z" }, - { url = "https://files.pythonhosted.org/packages/df/9c/985e6ab05ab7927d5f6eb8420958957b707f8fbdcb012001b967286a46cc/pyrefly-1.3.0.dev1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:56a855f5784978e990effe760e0eaab60b98a0add9bebb79af901d9a8269696d", size = 15230694, upload-time = "2026-08-07T01:56:27.722Z" }, - { url = "https://files.pythonhosted.org/packages/55/73/1368adde6c6f29bd88d5929211291a17c4cf9bddaafd0a3ab330d463ed10/pyrefly-1.3.0.dev1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a0e36aede58dffab44a67ac0f322e416d0fa4955c80d491fc7e0fe80c1a73a5d", size = 15170348, upload-time = "2026-08-07T01:56:30.86Z" }, - { url = "https://files.pythonhosted.org/packages/2c/28/172a588415c48b2eb2eccabbfb3e21c5c95ddeb1022ca96b5fde75c5f71a/pyrefly-1.3.0.dev1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdb58f30ec64ae44268baa58fcf01f0fdfba44c3153591c8b76a16a57df44ee4", size = 14582792, upload-time = "2026-08-07T01:56:34.052Z" }, - { url = "https://files.pythonhosted.org/packages/fa/8f/c7211d118a5dfb08e24655ff5c4414fda0b281de64cf83834da9fd1bbcd2/pyrefly-1.3.0.dev1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:c4e6e3c80416636666d2a9cbca0fd32dbba51e54da4e7a5a6ba3388bfbacf612", size = 14106287, upload-time = "2026-08-07T01:56:37.073Z" }, - { url = "https://files.pythonhosted.org/packages/d5/f4/642addd2e33daf1cc2357150db5c6ab6a81bd378281203552d5e509c6f02/pyrefly-1.3.0.dev1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:1672be7086ae54d8dfce02eb612894c3ad51c42e03b4769d0e45a9d9e622d4ed", size = 14617068, upload-time = "2026-08-07T01:56:39.913Z" }, - { url = "https://files.pythonhosted.org/packages/3b/17/e4a7c0f6ded01370f3267058f5bb2a10487d200dc5a29058fbff34aa9820/pyrefly-1.3.0.dev1-py3-none-win32.whl", hash = "sha256:7dd496f3642bba6764f3c4c9f189ef021a30fc05261087316e4d6bb9beace65e", size = 13403475, upload-time = "2026-08-07T01:56:42.782Z" }, - { url = "https://files.pythonhosted.org/packages/61/79/2a366f1b65c177e42f67b8540e7372e258d0880eed957859bbf5b1ff7d0e/pyrefly-1.3.0.dev1-py3-none-win_amd64.whl", hash = "sha256:70baea8d7577be7f50a5dbbf5819f5cb335208e97793846e14d80ebd8f90f6c4", size = 14264341, upload-time = "2026-08-07T01:56:45.772Z" }, - { url = "https://files.pythonhosted.org/packages/c8/f9/abe77e5154b1c56d60831aade2d4b6e9e9d2c458860e5fd9fc30a2fc720e/pyrefly-1.3.0.dev1-py3-none-win_arm64.whl", hash = "sha256:d5070fecbe7b22eaf46b1da510fe5ea3c69b17f805dfbc04753d9501ce24f54e", size = 13607012, upload-time = "2026-08-07T01:56:48.638Z" }, + { url = "https://files.pythonhosted.org/packages/6a/17/dfce6611acc00cb26667e5e1011438cc510f3067f961e0f07f7a0c68f416/pyrefly-1.4.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:460cec39bc8743915e9c2c8c10ba926ad0b29b099d89c1859fb97e0059f42fa7", size = 15705624, upload-time = "2026-10-15T16:53:43.412Z" }, + { url = "https://files.pythonhosted.org/packages/a6/78/a7b96442123fa6ed733de0d1ea933e35d6fc6b7c9cf16e05279abb493493/pyrefly-1.4.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:5a6370d686b6cbbac8869832f09a52012888371956fbc68d446a349bc85ccd43", size = 14978669, upload-time = "2026-10-15T16:53:46.546Z" }, + { url = "https://files.pythonhosted.org/packages/23/97/dfcfec6a9d8948ab4b2746f7e87558a82bffabb7a54c22e7d3ce4bdc1932/pyrefly-1.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f1b16923a6583a6764e8aec07787e2ef4df644c7030294cba71339783a9451c", size = 15438858, upload-time = "2026-10-15T16:53:48.904Z" }, + { url = "https://files.pythonhosted.org/packages/31/12/6fa414aa87e398d6ddc7145a5d993b0975fc3511198dbb72c47873653ab6/pyrefly-1.4.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:688ad4cb4d6e711d67026fdcfb37b599f86061efe11ba5704287330e7041a69e", size = 16852241, upload-time = "2026-10-15T16:53:51.496Z" }, + { url = "https://files.pythonhosted.org/packages/a8/73/2d7312262cf6481d6ad46eed55b8f2592c3cff60f95cc2f30a114cd1484e/pyrefly-1.4.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f5f3c9dddb6f3128beb49cf4e0f5cb88d4d17f039008d8e0c2be653966acd234", size = 16751917, upload-time = "2026-10-15T16:53:54.39Z" }, + { url = "https://files.pythonhosted.org/packages/2c/65/b44a1cb23667bcbcdc88558cbef79fa9e07a1152c2a1da148036b1a2e0d1/pyrefly-1.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6951f51687304caebfedf13dd1a943aeafdbc95abcc4e24a683b97467a77007", size = 16066345, upload-time = "2026-10-15T16:53:57.436Z" }, + { url = "https://files.pythonhosted.org/packages/a6/07/7ca6ff0c53e3a90ecdab05790d33f430fca5c48687613a0b182744166d98/pyrefly-1.4.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:838de4d4a8b9b8ed39bedd0b8b55629c69661d73a6fa3a3a4adff24b9dbeb399", size = 15461223, upload-time = "2026-10-15T16:54:00.364Z" }, + { url = "https://files.pythonhosted.org/packages/61/be/ec7b2f38a898ce5b2219dda730e87d31fc8cfb2108a3d5844f9d590f1281/pyrefly-1.4.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:afb9ce2e0ae3e6106fb45f6d47536ac92b6423e601e08401cdefa850066444f5", size = 16119099, upload-time = "2026-10-15T16:54:02.664Z" }, + { url = "https://files.pythonhosted.org/packages/6e/16/1b9549168b38a575d9c168e17b4b4ee30028d602ec0f7b07c198ef265dbe/pyrefly-1.4.0-py3-none-win32.whl", hash = "sha256:839db536d0ac29f1b23e2d974fb911075c2283e3e623755c45d826aafac175bc", size = 14858880, upload-time = "2026-10-15T16:54:05.114Z" }, + { url = "https://files.pythonhosted.org/packages/03/02/18f075d4de0e255f184f42fc28c1f0ecc9f49dd528678479fc90cf12246c/pyrefly-1.4.0-py3-none-win_amd64.whl", hash = "sha256:7aff37c2b711c8240ed650da0c6148237b327bf7e5dfacee65884f1adea22305", size = 15726220, upload-time = "2026-10-15T16:54:07.452Z" }, + { url = "https://files.pythonhosted.org/packages/92/62/92947076681550904c72a9dd03b24e92694ede9a48548f5e487c849e66ea/pyrefly-1.4.0-py3-none-win_arm64.whl", hash = "sha256:88879f0cb749e5fea81d9ff4c2d5431a70349c458bcdf0b61de72c79214d90a5", size = 14943690, upload-time = "2026-10-15T16:54:09.689Z" }, ] [[package]] name = "pyright" -version = "1.1.410" +version = "1.1.414" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "nodeenv" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/10/53/e4d8ea1391bd4355231be6f91bf239479aa0014260ed3fb5526eeb12a1f2/pyright-1.1.410.tar.gz", hash = "sha256:07a073b8ba6749826773c1269773efa11b93440d9a6aa60419d9a3172d6dc488", size = 4062013, upload-time = "2026-06-01T17:35:48.894Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e1/1b/244c7b710031ada80f27e579ec20d28a2285dfc318fed0339866b1047f12/pyright-1.1.414.tar.gz", hash = "sha256:523c0a97c60da6333234955c277730c9cf4f5bd6d5399e7b7d2b0fc5d3599524", size = 4154638, upload-time = "2026-09-10T12:26:53.181Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d7/33/288b5868fa00846dacf249633719d747893e54aebd196b9968ac1878a5d3/pyright-1.1.410-py3-none-any.whl", hash = "sha256:5e961bed37cacf96b3f7cd7b1da39b350a9239aa2e69138d0e88f728cfaf296c", size = 6082448, upload-time = "2026-06-01T17:35:46.387Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ba/18b6e682ead424ad24bcc134339ae5d1b931cd9ae260540592a058a91279/pyright-1.1.414-py3-none-any.whl", hash = "sha256:2a6b4b3298c9eec174c5ed83bd338de6eee82df2992f3e1930e6199d381be36f", size = 6225049, upload-time = "2026-09-10T12:26:51.427Z" }, ] [[package]] @@ -271,7 +292,7 @@ requires-dist = [ { name = "markdown" }, { name = "mypy" }, { name = "pycroscope" }, - { name = "pyrefly", specifier = "==1.3.0.dev1" }, + { name = "pyrefly" }, { name = "pyright" }, { name = "tomlkit" }, { name = "ty" }, @@ -291,19 +312,19 @@ wheels = [ [[package]] name = "zuban" -version = "0.10.0" +version = "0.10.1" source = { registry = "https://pypi.org/simple" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d0/e3/69ef2ec901c4a21b584c8f30e2957e6ee7706fff2b7f7b64554628c8e1da/zuban-0.10.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:59d7a698dd58bc742a6be187d000367d2dea541a2ee57531d10f4713520ee97c", size = 11352888, upload-time = "2026-09-18T11:11:30.344Z" }, - { url = "https://files.pythonhosted.org/packages/45/6b/726e27df1b5243fda6f2206147c6566a7e17e5ff64f8fec51c01e32d69c3/zuban-0.10.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:c81631c3e6ba5e3455d3953588c89612d8d0995be28909824df44fa997af7e40", size = 11112654, upload-time = "2026-09-18T11:11:33.029Z" }, - { url = "https://files.pythonhosted.org/packages/99/36/ab87b7e4b3dcd5ca89ad324c9a5249b00892ed25a2c2c29ffdea1286650f/zuban-0.10.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd4f6fcdd46d89f5fe5ca9191e05f3c1b6e28295b0bc532e18c3164565288380", size = 28554642, upload-time = "2026-09-18T11:11:35.821Z" }, - { url = "https://files.pythonhosted.org/packages/59/7a/82a17d92dc4652086356ed5642b4b81d285dd7f851b949ca967621d62e39/zuban-0.10.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:98fbd6e08e79d333cca612d4ed3f679a9cddbfc3b99f07693553769fe172035a", size = 28732309, upload-time = "2026-09-18T11:11:39.495Z" }, - { url = "https://files.pythonhosted.org/packages/bf/47/21116e950934fd040a10df5309978d0c2bb1084d2c2b04c668273422377a/zuban-0.10.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c494f530034b56b1ca9ef6d9851b793c858fa8697c6c01f683dc0ab203e290d1", size = 29838795, upload-time = "2026-09-18T11:11:43.292Z" }, - { url = "https://files.pythonhosted.org/packages/f6/4e/fa2148a3bac24788bda3a83c58167ae86e88b87a141911140953914d6447/zuban-0.10.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae1fb50593f129a5df4dc0b06f25124345f8d527623545e1a79ffb451a78e131", size = 31846103, upload-time = "2026-09-18T11:11:47.362Z" }, - { url = "https://files.pythonhosted.org/packages/40/dd/6124f00f1e38c63ea548bc2a9dde5f547485e9119dbd1a320de5c54e0bdf/zuban-0.10.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:b08b5331728b818b87aae7a287f81f7d66bed56823a1084776ccdbc84067ffdb", size = 28725088, upload-time = "2026-09-18T11:11:50.857Z" }, - { url = "https://files.pythonhosted.org/packages/4a/87/5bef3b23e53f9cc525e5cd228c51d2e6f1fa47080f48b0d3ee0bb146af07/zuban-0.10.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:a66d60f6afd1deddef673dab407abf1014721e393fcc18fb1b5f2f73fa3f04d8", size = 29166127, upload-time = "2026-09-18T11:11:54.567Z" }, - { url = "https://files.pythonhosted.org/packages/00/5c/b173cbcfbf8261b27f6a70a54a92d3400a378a4143041073834c2c9c5cbc/zuban-0.10.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:d83400da488b8a439358425ddfc800fa12859c03c8f7bcd8754e2cc487defea5", size = 29732954, upload-time = "2026-09-18T11:11:58.192Z" }, - { url = "https://files.pythonhosted.org/packages/f2/53/1b4d0a82aa728090458e531207a6a7634f186a566f5e0d5167ddc8f4355a/zuban-0.10.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:64002bf171baf49097b61521f7756a1c29264a3fcd2c98cf3e2b0b7862e74008", size = 29059999, upload-time = "2026-09-18T11:12:01.793Z" }, - { url = "https://files.pythonhosted.org/packages/ba/6d/2215ab53d7388a8d9de888af048010ef5b6421c54a50f7a38069e8e614ad/zuban-0.10.0-py3-none-win32.whl", hash = "sha256:9d39da51b2d679505011bdcf8ba5757b10dc3e24b941d572b6cde8217fa48539", size = 10002018, upload-time = "2026-09-18T11:12:05.125Z" }, - { url = "https://files.pythonhosted.org/packages/58/42/fb3c2c3a039a91608527a70beeddf1d183abdc8697bd124df8797676cefa/zuban-0.10.0-py3-none-win_amd64.whl", hash = "sha256:de928ef243a3547fa747321fb6aad4a07657827e72c23c7905dbeab4697f8337", size = 10713422, upload-time = "2026-09-18T11:12:07.69Z" }, + { url = "https://files.pythonhosted.org/packages/42/85/bf2e4f075b5cd530d2ec50f7c3e5aecc4dfd30caf978c0c0bf9bac727f9f/zuban-0.10.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:7751221eb5bb47fe9d4d28857bd4067a76d2642fb43b820807a00e58311a350f", size = 11360723, upload-time = "2026-10-11T23:25:57.92Z" }, + { url = "https://files.pythonhosted.org/packages/d8/71/df27ba420cbd978be4019e9d388dbd278f66fb069b9f74601d02f32d79ed/zuban-0.10.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:94e87739f8c27d46da9f9db16f77eb65a71b4ab98b45dc4b549d0e4fd54fd060", size = 11126236, upload-time = "2026-10-11T23:26:00.689Z" }, + { url = "https://files.pythonhosted.org/packages/07/1f/300f418d89c5fd1e9a3c9eb393c2a7bce7c66a588b47545325716f95fca1/zuban-0.10.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8007869c5010f2c4f3cdfff39cf18e75072f3bf064193adf78ec55589b7a27e", size = 28478792, upload-time = "2026-10-11T23:26:04.2Z" }, + { url = "https://files.pythonhosted.org/packages/ff/d1/93b6bdec8a74c0ff219cf356f7dbc4d0736d7d7c7681036fe85f264cdcfe/zuban-0.10.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b0c4b44c07c8dcb2d600e18df846c715d5d988b9271487bf0efed4d5bf1e495f", size = 28781450, upload-time = "2026-10-11T23:26:07.963Z" }, + { url = "https://files.pythonhosted.org/packages/54/2a/132c2fd45997dc45da9b5e3e98767c2ee69bcff212dcd3f5d3fccfa4f40c/zuban-0.10.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2901a3cda7df0481c2b1e98135e1f9636ee257b15a3a4c0ffd4fa969fef0e22a", size = 29907271, upload-time = "2026-10-11T23:26:11.27Z" }, + { url = "https://files.pythonhosted.org/packages/09/c4/0225ef5475beee1209aca527f983422801fda7b27ecc8b5b48a8229c2f16/zuban-0.10.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8088b7be916d76f3a89a5b34e97cf26a30c2620c467a2b5a47a6c4cca47cd5b9", size = 31736506, upload-time = "2026-10-11T23:26:15.129Z" }, + { url = "https://files.pythonhosted.org/packages/46/23/f141b7a8e5103841932e5dcba6b69db7e27c5b183d67c7dbd43ac9c3b294/zuban-0.10.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:8f606e44f68bc7715e534059558cedd2096ec7049930decf1cfc428904d823c3", size = 28641122, upload-time = "2026-10-11T23:26:18.68Z" }, + { url = "https://files.pythonhosted.org/packages/14/0b/ed5971e3ddf457ac2c1e325dffc318a73cddf24b411c7c893a7809ca424d/zuban-0.10.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:7523983d56415c15423a8fe3e52c7f63a104430bef3938967db8e1464f6a510a", size = 29221427, upload-time = "2026-10-11T23:26:22.22Z" }, + { url = "https://files.pythonhosted.org/packages/d3/ba/a730cb6c712f46f007e67757b447c6998fe4d12ab92bab3b3bd124956278/zuban-0.10.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:2a91faef86ab1c86fe9a8aa77f26b5b0295a7c90c73090f50ec79d61ba24a712", size = 29801084, upload-time = "2026-10-11T23:26:25.876Z" }, + { url = "https://files.pythonhosted.org/packages/73/89/b0421c9e5185373451bead13303ce5bdc2536d8fb6f31d4cf0e273a662f1/zuban-0.10.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:e69b8860b992d3bcb9d75641dad9c817954d350b454989e6da11e0505e937ad4", size = 29020690, upload-time = "2026-10-11T23:26:29.07Z" }, + { url = "https://files.pythonhosted.org/packages/8d/e3/51624d02f45002e8a7fa67c15d6749657eebb3db8f4e47c82f1846d2ca93/zuban-0.10.1-py3-none-win32.whl", hash = "sha256:ff26d08e5bb5448d051fa5eb5dc6e5993a03af527571966b1499eaa62928a6c0", size = 10020499, upload-time = "2026-10-11T23:26:31.917Z" }, + { url = "https://files.pythonhosted.org/packages/ee/dc/493a9d21fda9924d9a0841402e2778114bde7788440f4f6954656ac6c80b/zuban-0.10.1-py3-none-win_amd64.whl", hash = "sha256:e74ce348967d83360c9212a1082358bb3bc5b65ced55d17017715a90abb18f28", size = 10734301, upload-time = "2026-10-11T23:26:34.439Z" }, ]