diff --git a/conformance/results/mypy/literals_parameterizations.toml b/conformance/results/mypy/literals_parameterizations.toml index 730d531db..a9b6b702b 100644 --- a/conformance/results/mypy/literals_parameterizations.toml +++ b/conformance/results/mypy/literals_parameterizations.toml @@ -8,19 +8,18 @@ literals_parameterizations.py:42: error: Invalid type: Literal[...] cannot conta literals_parameterizations.py:43: error: Invalid type: Literal[...] cannot contain arbitrary expressions [valid-type] literals_parameterizations.py:44: error: Invalid type: Literal[...] cannot contain arbitrary expressions [valid-type] literals_parameterizations.py:45: error: Invalid type: Literal[...] cannot contain arbitrary expressions [valid-type] +literals_parameterizations.py:46: error: Parameter 1 of Literal[...] is invalid [valid-type] literals_parameterizations.py:47: error: Parameter 1 of Literal[...] is invalid [valid-type] 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: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] -literals_parameterizations.py:60: error: Literal[...] must have at least one parameter [valid-type] -literals_parameterizations.py:61: error: Parameter 1 of Literal[...] is invalid [valid-type] -literals_parameterizations.py:65: error: Incompatible types in assignment (expression has type "Literal[Color.RED]", variable has type "Literal['Color.RED']") [assignment] +literals_parameterizations.py:50: error: Parameter 1 of Literal[...] cannot be of type "float" [valid-type] +literals_parameterizations.py:51: error: Parameter 1 of Literal[...] cannot be of type "Any" [valid-type] +literals_parameterizations.py:52: error: Parameter 1 of Literal[...] is invalid [valid-type] +literals_parameterizations.py:55: error: Invalid type: Literal[...] cannot contain arbitrary expressions [valid-type] +literals_parameterizations.py:59: error: Literal[...] must have at least one parameter [valid-type] +literals_parameterizations.py:60: error: Parameter 1 of Literal[...] is invalid [valid-type] +literals_parameterizations.py:64: error: Incompatible types in assignment (expression has type "Literal[Color.RED]", variable has type "Literal['Color.RED']") [assignment] """ -conformance_automated = "Fail" +conformance_automated = "Pass" errors_diff = """ -Line 46: Expected 1 errors """ diff --git a/conformance/results/pyrefly/literals_parameterizations.toml b/conformance/results/pyrefly/literals_parameterizations.toml index e31da9df2..14fbabace 100644 --- a/conformance/results/pyrefly/literals_parameterizations.toml +++ b/conformance/results/pyrefly/literals_parameterizations.toml @@ -8,16 +8,15 @@ ERROR literals_parameterizations.py:42:15-38: Invalid literal expression [invali ERROR literals_parameterizations.py:43:15-21: Invalid literal expression [invalid-literal] ERROR literals_parameterizations.py:44:15-17: Invalid literal expression [invalid-literal] ERROR literals_parameterizations.py:45:15-24: Invalid literal expression [invalid-literal] -ERROR literals_parameterizations.py:46:7-33: `Literal` arguments cannot be parenthesized [invalid-literal] -ERROR literals_parameterizations.py:47:15-35: Invalid literal expression [invalid-literal] -ERROR literals_parameterizations.py:48:15-18: Invalid type inside literal, `int` [invalid-literal] -ERROR literals_parameterizations.py:49:15-23: Expected a type form, got instance of `Literal[3]` [not-a-type] -ERROR literals_parameterizations.py:50:16-17: Invalid type inside literal, `TypeVar[T]` [invalid-literal] -ERROR literals_parameterizations.py:51:16-20: Invalid literal expression [invalid-literal] -ERROR literals_parameterizations.py:52:16-19: Invalid type inside literal, `Any` [invalid-literal] -ERROR literals_parameterizations.py:53:16-19: Invalid literal expression [invalid-literal] -ERROR literals_parameterizations.py:56:28-33: Invalid literal expression [invalid-literal] -ERROR literals_parameterizations.py:60:4-11: Expected a type argument for `Literal` [invalid-annotation] -ERROR literals_parameterizations.py:61:12-23: Expected a type form, got instance of `(x: Unknown) -> int` [not-a-type] -ERROR literals_parameterizations.py:65:32-33: `Literal[Color.RED]` is not assignable to `Literal['Color.RED']` [bad-assignment] +ERROR literals_parameterizations.py:46:15-35: Invalid literal expression [invalid-literal] +ERROR literals_parameterizations.py:47:15-18: Invalid type inside literal, `int` [invalid-literal] +ERROR literals_parameterizations.py:48:15-23: Expected a type form, got instance of `Literal[3]` [not-a-type] +ERROR literals_parameterizations.py:49:15-16: Invalid type inside literal, `TypeVar[T]` [invalid-literal] +ERROR literals_parameterizations.py:50:16-20: Invalid literal expression [invalid-literal] +ERROR literals_parameterizations.py:51:16-19: Invalid type inside literal, `Any` [invalid-literal] +ERROR literals_parameterizations.py:52:16-19: Invalid literal expression [invalid-literal] +ERROR literals_parameterizations.py:55:28-33: Invalid literal expression [invalid-literal] +ERROR literals_parameterizations.py:59:4-11: Expected a type argument for `Literal` [invalid-annotation] +ERROR literals_parameterizations.py:60:12-23: Expected a type form, got instance of `(x: Unknown) -> int` [not-a-type] +ERROR literals_parameterizations.py:64:32-33: `Literal[Color.RED]` is not assignable to `Literal['Color.RED']` [bad-assignment] """ diff --git a/conformance/results/pyright/literals_parameterizations.toml b/conformance/results/pyright/literals_parameterizations.toml index bad4ec5e3..f074ba177 100644 --- a/conformance/results/pyright/literals_parameterizations.toml +++ b/conformance/results/pyright/literals_parameterizations.toml @@ -12,19 +12,18 @@ literals_parameterizations.py:45:15 - error: Unary operator not allowed in type literals_parameterizations.py:45:15 - error: Type arguments for "Literal" must be None, a literal value (int, bool, str, or bytes), or an enum value (reportInvalidTypeForm) literals_parameterizations.py:46:15 - error: Type arguments for "Literal" must be None, a literal value (int, bool, str, or bytes), or an enum value (reportInvalidTypeForm) literals_parameterizations.py:47:15 - error: Type arguments for "Literal" must be None, a literal value (int, bool, str, or bytes), or an enum value (reportInvalidTypeForm) +literals_parameterizations.py:48:15 - error: Variable not allowed in type expression (reportInvalidTypeForm) literals_parameterizations.py:48:15 - error: Type arguments for "Literal" must be None, a literal value (int, bool, str, or bytes), or an enum value (reportInvalidTypeForm) -literals_parameterizations.py:49:15 - error: Variable not allowed in type expression (reportInvalidTypeForm) literals_parameterizations.py:49:15 - error: Type arguments for "Literal" must be None, a literal value (int, bool, str, or bytes), or an enum value (reportInvalidTypeForm) literals_parameterizations.py:50:16 - error: Type arguments for "Literal" must be None, a literal value (int, bool, str, or bytes), or an enum value (reportInvalidTypeForm) literals_parameterizations.py:51:16 - error: Type arguments for "Literal" must be None, a literal value (int, bool, str, or bytes), or an enum value (reportInvalidTypeForm) +literals_parameterizations.py:52:16 - error: "..." is not allowed in this context (reportInvalidTypeForm) literals_parameterizations.py:52:16 - error: Type arguments for "Literal" must be None, a literal value (int, bool, str, or bytes), or an enum value (reportInvalidTypeForm) -literals_parameterizations.py:53:16 - error: "..." is not allowed in this context (reportInvalidTypeForm) -literals_parameterizations.py:53:16 - error: Type arguments for "Literal" must be None, a literal value (int, bool, str, or bytes), or an enum value (reportInvalidTypeForm) -literals_parameterizations.py:56:28 - error: Binary operator not allowed in type expression (reportInvalidTypeForm) -literals_parameterizations.py:56:28 - error: Type arguments for "Literal" must be None, a literal value (int, bool, str, or bytes), or an enum value (reportInvalidTypeForm) -literals_parameterizations.py:60:4 - error: "Literal" cannot be used in this context without a type argument (reportInvalidTypeForm) -literals_parameterizations.py:61:12 - error: Type arguments for "Literal" must be None, a literal value (int, bool, str, or bytes), or an enum value (reportInvalidTypeForm) -literals_parameterizations.py:65:32 - error: Type "Literal[Color.RED]" is not assignable to declared type "Literal['Color.RED']" +literals_parameterizations.py:55:28 - error: Binary operator not allowed in type expression (reportInvalidTypeForm) +literals_parameterizations.py:55:28 - error: Type arguments for "Literal" must be None, a literal value (int, bool, str, or bytes), or an enum value (reportInvalidTypeForm) +literals_parameterizations.py:59:4 - error: "Literal" cannot be used in this context without a type argument (reportInvalidTypeForm) +literals_parameterizations.py:60:12 - error: Type arguments for "Literal" must be None, a literal value (int, bool, str, or bytes), or an enum value (reportInvalidTypeForm) +literals_parameterizations.py:64:32 - error: Type "Literal[Color.RED]" is not assignable to declared type "Literal['Color.RED']"   "Literal[Color.RED]" is not assignable to "Literal['Color.RED']" (reportAssignmentType) """ conformance_automated = "Pass" diff --git a/conformance/results/ty/literals_parameterizations.toml b/conformance/results/ty/literals_parameterizations.toml index 27f64295d..90b76d4cb 100644 --- a/conformance/results/ty/literals_parameterizations.toml +++ b/conformance/results/ty/literals_parameterizations.toml @@ -14,9 +14,8 @@ literals_parameterizations.py:49:15: error[invalid-type-form] Type arguments for literals_parameterizations.py:50:16: error[invalid-type-form] Type arguments for `Literal` must be `None`, a literal value (int, bool, str, or bytes), or an enum member literals_parameterizations.py:51:16: error[invalid-type-form] Type arguments for `Literal` must be `None`, a literal value (int, bool, str, or bytes), or an enum member literals_parameterizations.py:52:16: error[invalid-type-form] Type arguments for `Literal` must be `None`, a literal value (int, bool, str, or bytes), or an enum member -literals_parameterizations.py:53:16: error[invalid-type-form] Type arguments for `Literal` must be `None`, a literal value (int, bool, str, or bytes), or an enum member -literals_parameterizations.py:56:28: error[invalid-type-form] Type arguments for `Literal` must be `None`, a literal value (int, bool, str, or bytes), or an enum member -literals_parameterizations.py:60:4: error[invalid-type-form] `typing.Literal` requires at least one argument when used in a type expression -literals_parameterizations.py:61:12: error[invalid-type-form] Type arguments for `Literal` must be `None`, a literal value (int, bool, str, or bytes), or an enum member -literals_parameterizations.py:65:32: error[invalid-assignment] Object of type `Literal[Color.RED]` is not assignable to `Literal["Color.RED"]` +literals_parameterizations.py:55:28: error[invalid-type-form] Type arguments for `Literal` must be `None`, a literal value (int, bool, str, or bytes), or an enum member +literals_parameterizations.py:59:4: error[invalid-type-form] `typing.Literal` requires at least one argument when used in a type expression +literals_parameterizations.py:60:12: error[invalid-type-form] Type arguments for `Literal` must be `None`, a literal value (int, bool, str, or bytes), or an enum member +literals_parameterizations.py:64:32: error[invalid-assignment] Object of type `Literal[Color.RED]` is not assignable to `Literal["Color.RED"]` """ diff --git a/conformance/results/zuban/literals_parameterizations.toml b/conformance/results/zuban/literals_parameterizations.toml index fd128510e..3ae0841e0 100644 --- a/conformance/results/zuban/literals_parameterizations.toml +++ b/conformance/results/zuban/literals_parameterizations.toml @@ -8,17 +8,16 @@ literals_parameterizations.py:43: error: Invalid type: Literal[...] cannot conta literals_parameterizations.py:44: error: Invalid type: Literal[...] cannot contain arbitrary expressions [valid-type] literals_parameterizations.py:45: error: Invalid type: Literal[...] cannot contain arbitrary expressions [valid-type] literals_parameterizations.py:46: error: Invalid type: Literal[...] cannot contain arbitrary expressions [valid-type] -literals_parameterizations.py:47: error: Invalid type: Literal[...] cannot contain arbitrary expressions [valid-type] +literals_parameterizations.py:47: error: Parameter 1 of Literal[...] is invalid [valid-type] 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: Type variable "literals_parameterizations.T" is unbound [misc] -literals_parameterizations.py:50: note: (Hint: Use "Generic[T]" or "Protocol[T]" base class to bind "T" inside a class) -literals_parameterizations.py:50: note: (Hint: Use "T" in function signature to bind "T" inside a function) -literals_parameterizations.py:51: error: Parameter 1 of Literal[...] cannot be of type "float" [valid-type] -literals_parameterizations.py:52: error: Parameter 1 of Literal[...] cannot be of type "Any" [valid-type] -literals_parameterizations.py:53: error: Invalid type: Literal[...] cannot contain arbitrary expressions [valid-type] -literals_parameterizations.py:56: error: Invalid type: Literal[...] cannot contain arbitrary expressions [valid-type] -literals_parameterizations.py:60: error: Literal[...] must have at least one parameter [valid-type] -literals_parameterizations.py:61: error: Parameter 1 of Literal[...] is invalid [valid-type] -literals_parameterizations.py:65: error: Incompatible types in assignment (expression has type "Literal[Color.RED]", variable has type "Literal['Color.RED']") [assignment] +literals_parameterizations.py:49: error: Type variable "literals_parameterizations.T" is unbound [misc] +literals_parameterizations.py:49: note: (Hint: Use "Generic[T]" or "Protocol[T]" base class to bind "T" inside a class) +literals_parameterizations.py:49: note: (Hint: Use "T" in function signature to bind "T" inside a function) +literals_parameterizations.py:50: error: Parameter 1 of Literal[...] cannot be of type "float" [valid-type] +literals_parameterizations.py:51: error: Parameter 1 of Literal[...] cannot be of type "Any" [valid-type] +literals_parameterizations.py:52: error: Invalid type: Literal[...] cannot contain arbitrary expressions [valid-type] +literals_parameterizations.py:55: error: Invalid type: Literal[...] cannot contain arbitrary expressions [valid-type] +literals_parameterizations.py:59: error: Literal[...] must have at least one parameter [valid-type] +literals_parameterizations.py:60: error: Parameter 1 of Literal[...] is invalid [valid-type] +literals_parameterizations.py:64: error: Incompatible types in assignment (expression has type "Literal[Color.RED]", variable has type "Literal['Color.RED']") [assignment] """ diff --git a/conformance/tests/literals_parameterizations.py b/conformance/tests/literals_parameterizations.py index 97feacf61..dfab0ca33 100644 --- a/conformance/tests/literals_parameterizations.py +++ b/conformance/tests/literals_parameterizations.py @@ -43,14 +43,13 @@ class Color(Enum): bad3: Literal[4 + 3j] # E bad4: Literal[~5] # E bad5: Literal[not False] # E -bad6: Literal[(1, "foo", "bar")] # E -bad7: Literal[{"a": "b", "c": "d"}] # E -bad8: Literal[int] # E -bad9: Literal[variable] # E -bad10: Literal[T] # E -bad11: Literal[3.14] # E -bad12: Literal[Any] # E -bad13: Literal[...] # E +bad6: Literal[{"a": "b", "c": "d"}] # E +bad7: Literal[int] # E +bad8: Literal[variable] # E +bad9: Literal[T] # E +bad10: Literal[3.14] # E +bad11: Literal[Any] # E +bad12: Literal[...] # E def my_function(x: Literal[1 + 2]) -> int: # E