Skip to content

Commit

Permalink
Updated conformance test results for pyright 1.1.347 (#1588)
Browse files Browse the repository at this point in the history
Updated conformance test results for pyright 1.1.347, which fixed a bunch of non-conformance issues. Fixed a couple of bugs in the conformance tests that were found in the process: `protocols_self` and `protocols_recursive` were using the wrong variance (which went uncaught because of a previous bug in pyright's variance inference algorithm).
  • Loading branch information
erictraut authored Jan 15, 2024
1 parent 55d9075 commit c54c84d
Show file tree
Hide file tree
Showing 41 changed files with 131 additions and 168 deletions.
1 change: 1 addition & 0 deletions conformance/results/mypy/directives_no_type_check.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
conformant = "Partial"
notes = """
Does not honor `@no_type_check` class decorator.
Does not reject invalid call of `@no_type_check` function.
"""
output = """
directives_no_type_check.py:16: error: Incompatible types in assignment (expression has type "str", variable has type "int") [assignment]
Expand Down
2 changes: 1 addition & 1 deletion conformance/results/mypy/generics_typevartuple_args.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
conformant = "Partial"
notes = """
Does not enforce that tuples captured by TypeVarTuple are same type (spec bug?).
Does not enforce that tuples captured by TypeVarTuple are same type.
"""
output = """
generics_typevartuple_args.py:33: error: Argument 3 to "exec_le" has incompatible type "str"; expected "Env" [arg-type]
Expand Down
2 changes: 1 addition & 1 deletion conformance/results/mypy/generics_typevartuple_basic.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
conformant = "Partial"
notes = """
Does not enforce that tuples captured by TypeVarTuple are same length.
Does not enforce that tuples captured by TypeVarTuple are same type (spec bug?).
Does not enforce that tuples captured by TypeVarTuple are same type.
Does not enforce that tuples captured by TypeVarTuple are invariant in non-tuple class.
"""
output = """
Expand Down
10 changes: 5 additions & 5 deletions conformance/results/mypy/protocols_explicit.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ Does not report unimplemented attributes for class that explicitly derives from
output = """
protocols_explicit.py:27: error: Call to abstract method "draw" of "PColor" with trivial body via super() is unsafe [safe-super]
protocols_explicit.py:56: error: Incompatible types in assignment (expression has type "tuple[int, int, str]", base class "RGB" defined the type as "tuple[int, int, int]") [assignment]
protocols_explicit.py:63: error: Cannot instantiate abstract class "Point" with abstract attributes "intensity", "other" and "transparency" [abstract]
protocols_explicit.py:90: error: Cannot instantiate abstract class "Concrete1" with abstract attributes "cm1" and "im1" [abstract]
protocols_explicit.py:108: error: Cannot instantiate abstract class "Concrete3" with abstract attributes "cm10", "cm11" and "im1" [abstract]
protocols_explicit.py:133: error: Cannot instantiate abstract class "Concrete5" with abstract attribute "method1" [abstract]
protocols_explicit.py:163: error: Cannot instantiate abstract class "Concrete7A" with abstract attribute "method1" [abstract]
protocols_explicit.py:59: error: Cannot instantiate abstract class "Point" with abstract attributes "intensity", "other" and "transparency" [abstract]
protocols_explicit.py:86: error: Cannot instantiate abstract class "Concrete1" with abstract attributes "cm1" and "im1" [abstract]
protocols_explicit.py:104: error: Cannot instantiate abstract class "Concrete3" with abstract attributes "cm10", "cm11" and "im1" [abstract]
protocols_explicit.py:129: error: Cannot instantiate abstract class "Concrete5" with abstract attribute "method1" [abstract]
protocols_explicit.py:159: error: Cannot instantiate abstract class "Concrete7A" with abstract attribute "method1" [abstract]
"""
2 changes: 1 addition & 1 deletion conformance/results/mypy/version.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
version = "mypy 1.8.0"
test_duration = 1.3177800178527832
test_duration = 1.3906440734863281
14 changes: 7 additions & 7 deletions conformance/results/pyre/protocols_explicit.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ Does not report error when method is not implemented in derived class.
"""
output = """
protocols_explicit.py:54:0 Uninitialized attribute [13]: Attribute `other` inherited from protocol `RGB` in class `Point` to have type `int` but is never initialized.
protocols_explicit.py:63:4 Invalid class instantiation [45]: Cannot instantiate abstract class `Point` with abstract method `intensity`.
protocols_explicit.py:86:0 Uninitialized attribute [13]: Attribute `cm1` inherited from protocol `Proto1` in class `Concrete1` to have type `int` but is never initialized.
protocols_explicit.py:86:0 Uninitialized attribute [13]: Attribute `im1` inherited from protocol `Proto1` in class `Concrete1` to have type `int` but is never initialized.
protocols_explicit.py:101:0 Uninitialized attribute [13]: Attribute `cm10` inherited from protocol `Proto2` in class `Concrete3` to have type `int` but is never initialized.
protocols_explicit.py:101:0 Uninitialized attribute [13]: Attribute `cm11` inherited from protocol `Proto3` in class `Concrete3` to have type `int` but is never initialized.
protocols_explicit.py:101:0 Uninitialized attribute [13]: Attribute `im1` inherited from protocol `Proto1` in class `Concrete3` to have type `int` but is never initialized.
protocols_explicit.py:163:6 Invalid class instantiation [45]: Cannot instantiate abstract class `Concrete7A` with abstract method `method1`.
protocols_explicit.py:59:4 Invalid class instantiation [45]: Cannot instantiate abstract class `Point` with abstract method `intensity`.
protocols_explicit.py:82:0 Uninitialized attribute [13]: Attribute `cm1` inherited from protocol `Proto1` in class `Concrete1` to have type `int` but is never initialized.
protocols_explicit.py:82:0 Uninitialized attribute [13]: Attribute `im1` inherited from protocol `Proto1` in class `Concrete1` to have type `int` but is never initialized.
protocols_explicit.py:97:0 Uninitialized attribute [13]: Attribute `cm10` inherited from protocol `Proto2` in class `Concrete3` to have type `int` but is never initialized.
protocols_explicit.py:97:0 Uninitialized attribute [13]: Attribute `cm11` inherited from protocol `Proto3` in class `Concrete3` to have type `int` but is never initialized.
protocols_explicit.py:97:0 Uninitialized attribute [13]: Attribute `im1` inherited from protocol `Proto1` in class `Concrete3` to have type `int` but is never initialized.
protocols_explicit.py:159:6 Invalid class instantiation [45]: Cannot instantiate abstract class `Concrete7A` with abstract method `method1`.
"""
2 changes: 1 addition & 1 deletion conformance/results/pyre/version.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
version = "pyre 0.9.19"
test_duration = 2.2062928676605225
test_duration = 2.216038227081299
4 changes: 2 additions & 2 deletions conformance/results/pyright/aliases_explicit.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,13 @@ aliases_explicit.py:85:21 - error: List expression not allowed in type annotatio
  Use List[T] to indicate a list type or Union[T1, T2] to indicate a union type (reportGeneralTypeIssues)
aliases_explicit.py:85:21 - error: Expected type expression but received "list[type[int]]" (reportGeneralTypeIssues)
aliases_explicit.py:86:21 - error: Invalid expression form for type alias definition (reportGeneralTypeIssues)
aliases_explicit.py:86:21 - error: Ternary expression not allowed in type annotation
aliases_explicit.py:86:21 - error: Ternary expression not allowed in type annotation (reportGeneralTypeIssues)
aliases_explicit.py:87:21 - error: Variable not allowed in type expression (reportGeneralTypeIssues)
aliases_explicit.py:88:22 - error: Expected type expression but received "Literal[True]" (reportGeneralTypeIssues)
aliases_explicit.py:89:22 - error: Invalid expression form for type alias definition (reportGeneralTypeIssues)
aliases_explicit.py:89:22 - error: Expected type expression but received "Literal[1]" (reportGeneralTypeIssues)
aliases_explicit.py:90:22 - error: Invalid expression form for type alias definition (reportGeneralTypeIssues)
aliases_explicit.py:90:22 - error: Binary operator not allowed in type annotation
aliases_explicit.py:90:22 - error: Binary operator not allowed in type annotation (reportGeneralTypeIssues)
aliases_explicit.py:91:22 - error: Expected expression
aliases_explicit.py:91:22 - error: Tuple expression not allowed in type annotation
  Use Tuple[T1, ..., Tn] to indicate a tuple type or Union[T1, T2] to indicate a union type (reportGeneralTypeIssues)
Expand Down
14 changes: 5 additions & 9 deletions conformance/results/pyright/aliases_newtype.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
conformant = "Partial"
notes = """
Rejects use of NewType created with another NewType.
"""
conformant = "Pass"
output = """
aliases_newtype.py:11:8 - error: Argument of type "Literal['user']" cannot be assigned to parameter "_x" of type "int" in function "__init__"
  "Literal['user']" is incompatible with "int" (reportGeneralTypeIssues)
Expand All @@ -11,13 +8,12 @@ aliases_newtype.py:20:16 - error: Second argument to "isinstance" must be a clas
  Class created with NewType cannot be used with instance and class checks (reportGeneralTypeIssues)
aliases_newtype.py:23:21 - error: Base class "UserId" is marked final and cannot be subclassed
aliases_newtype.py:32:1 - error: NewType must be assigned to a variable with the same name (reportGeneralTypeIssues)
aliases_newtype.py:36:40 - error: NewType cannot be used with a class created with NewType
aliases_newtype.py:38:19 - error: Expected no type arguments for class "GoodNewType1" (reportGeneralTypeIssues)
aliases_newtype.py:44:38 - error: Expected class as second argument to NewType
aliases_newtype.py:44:38 - error: Expected class as second argument to NewType (reportGeneralTypeIssues)
aliases_newtype.py:47:43 - error: Type variable "T" has no meaning in this context (reportGeneralTypeIssues)
aliases_newtype.py:49:38 - error: NewType cannot be used with structural type (a protocol or TypedDict class)
aliases_newtype.py:51:38 - error: NewType cannot be used with Literal type
aliases_newtype.py:58:38 - error: NewType cannot be used with structural type (a protocol or TypedDict class)
aliases_newtype.py:49:38 - error: NewType cannot be used with structural type (a protocol or TypedDict class) (reportGeneralTypeIssues)
aliases_newtype.py:51:38 - error: NewType cannot be used with Literal type (reportGeneralTypeIssues)
aliases_newtype.py:58:38 - error: NewType cannot be used with structural type (a protocol or TypedDict class) (reportGeneralTypeIssues)
aliases_newtype.py:60:15 - error: NewType requires two positional arguments (reportGeneralTypeIssues)
aliases_newtype.py:62:38 - error: The second argument to NewType must be a known class, not Any or Unknown (reportGeneralTypeIssues)
"""
21 changes: 9 additions & 12 deletions conformance/results/pyright/aliases_type_statement.toml
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
conformant = "Pass"
output = """
aliases_type_statement.py:17:12 - error: Cannot access member "bit_count" for type "TypeAliasType"
aliases_type_statement.py:17:12 - error: Cannot access member "bit_count" for type "type[TypeAliasType]"
  Member "bit_count" is unknown (reportGeneralTypeIssues)
aliases_type_statement.py:19:1 - error: Object of type "TypeAliasType" is not callable (reportGeneralTypeIssues)
aliases_type_statement.py:23:18 - error: Cannot access member "other_attrib" for type "TypeAliasType"
aliases_type_statement.py:19:1 - error: Object of type "type[int]" is not callable (reportGeneralTypeIssues)
aliases_type_statement.py:23:18 - error: Cannot access member "other_attrib" for type "type[TypeAliasType]"
  Member "other_attrib" is unknown (reportGeneralTypeIssues)
aliases_type_statement.py:26:18 - error: Expected type expression but received "TypeAliasType" (reportGeneralTypeIssues)
aliases_type_statement.py:31:22 - error: Argument of type "TypeAliasType" cannot be assigned to parameter "__class_or_tuple" of type "_ClassInfo" in function "isinstance"
  Type "TypeAliasType" cannot be assigned to type "_ClassInfo"
    "TypeAliasType" is incompatible with "type"
    "TypeAliasType" is incompatible with "UnionType"
    "TypeAliasType" is incompatible with "tuple[_ClassInfo, ...]" (reportGeneralTypeIssues)
aliases_type_statement.py:26:18 - error: A type alias defined in a "type" statement cannot be used as a base class
aliases_type_statement.py:31:22 - error: Second argument to "isinstance" must be a class or tuple of classes
  Type alias created with "type" statement cannot be used with instance and class checks (reportGeneralTypeIssues)
aliases_type_statement.py:37:22 - error: Call expression not allowed in type expression (reportGeneralTypeIssues)
aliases_type_statement.py:38:22 - error: List expression not allowed in type annotation
  Use List[T] to indicate a list type or Union[T1, T2] to indicate a union type (reportGeneralTypeIssues)
Expand All @@ -27,16 +24,16 @@ aliases_type_statement.py:42:22 - error: Call expression not allowed in type exp
aliases_type_statement.py:43:22 - error: List expression not allowed in type annotation
  Use List[T] to indicate a list type or Union[T1, T2] to indicate a union type (reportGeneralTypeIssues)
aliases_type_statement.py:43:22 - error: Expected type expression but received "list[type[int]]" (reportGeneralTypeIssues)
aliases_type_statement.py:44:22 - error: Ternary expression not allowed in type annotation
aliases_type_statement.py:44:22 - error: Ternary expression not allowed in type annotation (reportGeneralTypeIssues)
aliases_type_statement.py:45:22 - error: Variable not allowed in type expression (reportGeneralTypeIssues)
aliases_type_statement.py:46:23 - error: Expected type expression but received "Literal[True]" (reportGeneralTypeIssues)
aliases_type_statement.py:47:23 - error: Expected type expression but received "Literal[1]" (reportGeneralTypeIssues)
aliases_type_statement.py:48:23 - error: Binary operator not allowed in type annotation
aliases_type_statement.py:48:23 - error: Binary operator not allowed in type annotation (reportGeneralTypeIssues)
aliases_type_statement.py:49:23 - error: Expected expression
aliases_type_statement.py:49:23 - error: Tuple expression not allowed in type annotation
  Use Tuple[T1, ..., Tn] to indicate a tuple type or Union[T1, T2] to indicate a union type (reportGeneralTypeIssues)
aliases_type_statement.py:52:10 - error: Type alias declaration "BadTypeAlias14" is obscured by a declaration of the same name (reportGeneralTypeIssues)
aliases_type_statement.py:58:10 - error: A type statement can be used only within a module or class scope
aliases_type_statement.py:58:10 - error: A type statement can be used only within a module or class scope (reportGeneralTypeIssues)
aliases_type_statement.py:64:23 - error: Type parameter "V" is not included in the type parameter list for "TA1" (reportGeneralTypeIssues)
aliases_type_statement.py:69:17 - error: Type parameter "T1" is not included in the type parameter list for "TA2" (reportGeneralTypeIssues)
aliases_type_statement.py:79:7 - error: Could not specialize type "RecursiveTypeAlias2[S@RecursiveTypeAlias2, T@RecursiveTypeAlias2, P@RecursiveTypeAlias2]"
Expand Down
6 changes: 3 additions & 3 deletions conformance/results/pyright/aliases_typealiastype.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
conformant = "Pass"
output = """
aliases_typealiastype.py:32:18 - error: Cannot access member "other_attrib" for type "TypeAliasType"
aliases_typealiastype.py:32:18 - error: Cannot access member "other_attrib" for type "type[TypeAliasType]"
  Member "other_attrib" is unknown (reportGeneralTypeIssues)
aliases_typealiastype.py:40:5 - error: Could not specialize type "GoodAlias5[S@GoodAlias5, TStr@GoodAlias5, P@GoodAlias5, Ts@GoodAlias5]"
  Type "int" cannot be assigned to type "str"
Expand All @@ -20,11 +20,11 @@ aliases_typealiastype.py:63:42 - error: Call expression not allowed in type expr
aliases_typealiastype.py:64:42 - error: List expression not allowed in type annotation
  Use List[T] to indicate a list type or Union[T1, T2] to indicate a union type (reportGeneralTypeIssues)
aliases_typealiastype.py:64:42 - error: Expected type expression but received "list[type[int]]" (reportGeneralTypeIssues)
aliases_typealiastype.py:65:42 - error: Ternary expression not allowed in type annotation
aliases_typealiastype.py:65:42 - error: Ternary expression not allowed in type annotation (reportGeneralTypeIssues)
aliases_typealiastype.py:66:42 - error: Variable not allowed in type expression (reportGeneralTypeIssues)
aliases_typealiastype.py:67:42 - error: Expected type expression but received "Literal[True]" (reportGeneralTypeIssues)
aliases_typealiastype.py:68:42 - error: Expected type expression but received "Literal[1]" (reportGeneralTypeIssues)
aliases_typealiastype.py:69:42 - error: Binary operator not allowed in type annotation
aliases_typealiastype.py:69:42 - error: Binary operator not allowed in type annotation (reportGeneralTypeIssues)
aliases_typealiastype.py:70:42 - error: Expected expression
aliases_typealiastype.py:70:42 - error: Tuple expression not allowed in type annotation
  Use Tuple[T1, ..., Tn] to indicate a tuple type or Union[T1, T2] to indicate a union type (reportGeneralTypeIssues)
Expand Down
6 changes: 3 additions & 3 deletions conformance/results/pyright/annotations_forward_refs.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,12 @@ annotations_forward_refs.py:46:10 - error: Call expression not allowed in type e
annotations_forward_refs.py:47:10 - error: List expression not allowed in type annotation
  Use List[T] to indicate a list type or Union[T1, T2] to indicate a union type (reportGeneralTypeIssues)
annotations_forward_refs.py:47:10 - error: Expected type expression but received "list[type[int]]" (reportGeneralTypeIssues)
annotations_forward_refs.py:48:10 - error: Ternary expression not allowed in type annotation
annotations_forward_refs.py:48:10 - error: Ternary expression not allowed in type annotation (reportGeneralTypeIssues)
annotations_forward_refs.py:49:10 - error: Variable not allowed in type expression (reportGeneralTypeIssues)
annotations_forward_refs.py:50:11 - error: Expected type expression but received "Literal[True]" (reportGeneralTypeIssues)
annotations_forward_refs.py:51:11 - error: Expected type expression but received "Literal[1]" (reportGeneralTypeIssues)
annotations_forward_refs.py:52:11 - error: Unary operator not allowed in type annotation
annotations_forward_refs.py:53:11 - error: Binary operator not allowed in type annotation
annotations_forward_refs.py:52:11 - error: Unary operator not allowed in type annotation (reportGeneralTypeIssues)
annotations_forward_refs.py:53:11 - error: Binary operator not allowed in type annotation (reportGeneralTypeIssues)
annotations_forward_refs.py:54:11 - error: Expected expression
annotations_forward_refs.py:54:11 - error: Tuple expression not allowed in type annotation
  Use Tuple[T1, ..., Tn] to indicate a tuple type or Union[T1, T2] to indicate a union type (reportGeneralTypeIssues)
Expand Down
6 changes: 3 additions & 3 deletions conformance/results/pyright/annotations_typeexpr.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ annotations_typeexpr.py:93:9 - error: Call expression not allowed in type expres
annotations_typeexpr.py:94:9 - error: List expression not allowed in type annotation
  Use List[T] to indicate a list type or Union[T1, T2] to indicate a union type (reportGeneralTypeIssues)
annotations_typeexpr.py:94:9 - error: Expected type expression but received "list[type[int]]" (reportGeneralTypeIssues)
annotations_typeexpr.py:95:9 - error: Ternary expression not allowed in type annotation
annotations_typeexpr.py:95:9 - error: Ternary expression not allowed in type annotation (reportGeneralTypeIssues)
annotations_typeexpr.py:96:9 - error: Variable not allowed in type expression (reportGeneralTypeIssues)
annotations_typeexpr.py:97:10 - error: Expected type expression but received "Literal[True]" (reportGeneralTypeIssues)
annotations_typeexpr.py:98:10 - error: Expected type expression but received "Literal[1]" (reportGeneralTypeIssues)
annotations_typeexpr.py:99:10 - error: Unary operator not allowed in type annotation
annotations_typeexpr.py:100:10 - error: Binary operator not allowed in type annotation
annotations_typeexpr.py:99:10 - error: Unary operator not allowed in type annotation (reportGeneralTypeIssues)
annotations_typeexpr.py:100:10 - error: Binary operator not allowed in type annotation (reportGeneralTypeIssues)
annotations_typeexpr.py:101:10 - error: Expected expression
annotations_typeexpr.py:101:10 - error: Tuple expression not allowed in type annotation
  Use Tuple[T1, ..., Tn] to indicate a tuple type or Union[T1, T2] to indicate a union type (reportGeneralTypeIssues)
Expand Down
5 changes: 2 additions & 3 deletions conformance/results/pyright/classes_classvar.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ classes_classvar.py:100:14 - error: Cannot assign member "stats" for type "Stars
    Member "__set__" is unknown (reportGeneralTypeIssues)
classes_classvar.py:129:13 - error: Expression of type "ProtoAImpl" cannot be assigned to declared type "ProtoA"
  "ProtoAImpl" is incompatible with protocol "ProtoA"
    "y" is not a class variable
      "x" is defined as a ClassVar in protocol
      "y" is defined as a ClassVar in protocol (reportGeneralTypeIssues)
    "x" is defined as a ClassVar in protocol
    "y" is defined as a ClassVar in protocol (reportGeneralTypeIssues)
"""
Loading

0 comments on commit c54c84d

Please sign in to comment.