diff --git a/conformance/results/mypy/specialtypes_promotions.toml b/conformance/results/mypy/specialtypes_promotions.toml index 864bc73e..04499e86 100644 --- a/conformance/results/mypy/specialtypes_promotions.toml +++ b/conformance/results/mypy/specialtypes_promotions.toml @@ -1,7 +1,12 @@ -conformant = "Pass" +conformant = "Partial" +notes = """ +Does not narrow from float to int after isinstance() check +""" output = """ -specialtypes_promotions.py:13: error: "float" has no attribute "numerator" [attr-defined] +specialtypes_promotions.py:17: error: "float" has no attribute "numerator" [attr-defined] +specialtypes_promotions.py:33: error: Incompatible return value type (got "complex", expected "float") [return-value] """ -conformance_automated = "Pass" +conformance_automated = "Fail" errors_diff = """ +Line 26: Expected 1 errors """ diff --git a/conformance/results/pyre/specialtypes_promotions.toml b/conformance/results/pyre/specialtypes_promotions.toml index fb9055fb..f17ad77f 100644 --- a/conformance/results/pyre/specialtypes_promotions.toml +++ b/conformance/results/pyre/specialtypes_promotions.toml @@ -1,10 +1,13 @@ conformant = "Partial" notes = """ Does not reject use of attribute that is compatible only with float. +Does not narrow from float to int after isinstance() check """ output = """ +specialtypes_promotions.py:33:8 Incompatible return type [7]: Expected `float` but got `complex`. """ conformance_automated = "Fail" errors_diff = """ -Line 13: Expected 1 errors +Line 17: Expected 1 errors +Line 26: Expected 1 errors """ diff --git a/conformance/results/pyre/version.toml b/conformance/results/pyre/version.toml index c759e78d..6221116b 100644 --- a/conformance/results/pyre/version.toml +++ b/conformance/results/pyre/version.toml @@ -1,2 +1,2 @@ version = "pyre 0.9.23" -test_duration = 10.7 +test_duration = 10.4 diff --git a/conformance/results/pyright/specialtypes_promotions.toml b/conformance/results/pyright/specialtypes_promotions.toml index 20daf3a3..dbe43b05 100644 --- a/conformance/results/pyright/specialtypes_promotions.toml +++ b/conformance/results/pyright/specialtypes_promotions.toml @@ -1,7 +1,11 @@ conformant = "Pass" output = """ -specialtypes_promotions.py:13:7 - error: Cannot access attribute "numerator" for class "float" +specialtypes_promotions.py:17:7 - error: Cannot access attribute "numerator" for class "float" Attribute "numerator" is unknown (reportAttributeAccessIssue) +specialtypes_promotions.py:26:16 - error: Type "Literal['x']" is not assignable to return type "int" + "Literal['x']" is not assignable to "int" (reportReturnType) +specialtypes_promotions.py:33:16 - error: Type "complex" is not assignable to return type "float" + "complex" is not assignable to "float" (reportReturnType) """ conformance_automated = "Pass" errors_diff = """ diff --git a/conformance/results/pyright/version.toml b/conformance/results/pyright/version.toml index ca4eb79c..6686c4e5 100644 --- a/conformance/results/pyright/version.toml +++ b/conformance/results/pyright/version.toml @@ -1,2 +1,2 @@ version = "pyright 1.1.402" -test_duration = 1.8 +test_duration = 1.5 diff --git a/conformance/results/results.html b/conformance/results/results.html index 4cc4ea00..c60166c0 100644 --- a/conformance/results/results.html +++ b/conformance/results/results.html @@ -162,10 +162,10 @@
Does not narrow from float to int after isinstance() check
Does not reject use of attribute that is compatible only with float.
Does not reject use of attribute that is compatible only with float.
Does not narrow from float to int after isinstance() check
Does not treat `type` same as `type[Any]` for assert_type.
Does not allow access to unknown attributes from object of type `type[Any]`.
Infers Node[Never] instead of Node[Any] when argument is not provided.
False negative on instance attribute access on type(node).
Missing error regarding `type(instance).generic_attribute`.
Does not erase unspecified type variables to `Any` prior to `assert_type` handling.
False negatives on instance attribute access on the type.
Does not infer type of `DefaultDict` with explicit type parameters on constructor.
False negatives on assert_type uses.
`NewType`s are considered classes, not functions.
`NewType`s are considered classes, not functions.
Does not reject use of NewType in `isinstance` call.
Does not reject use of NewType in class definition statement.
Does not report inconsistency between name of NewType and assigned identifier name.
Does not reject use of NewType with generic class with TypeVar.
Does not reject use of NewType with protocol class.
Does not reject use of NewType with TypedDict class.
Does not reject use of NewType with Any.