Skip to content

Commit 5b3a1bb

Browse files
committed
One case is optional per the spec, add another case
1 parent d42d2fd commit 5b3a1bb

7 files changed

Lines changed: 197 additions & 197 deletions

‎conformance/results/mypy/qualifiers_final_annotation.toml‎

Lines changed: 38 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -7,45 +7,46 @@ Does not report modification of local `Final` variable via `for` statement.
77
"""
88
output = """
99
qualifiers_final_annotation.py:20: error: Argument 1 to "expects_one" has incompatible type "int"; expected "Literal[1]" [arg-type]
10-
qualifiers_final_annotation.py:31: error: Type in Final[...] can only be omitted if there is an initializer [misc]
11-
qualifiers_final_annotation.py:33: error: Final[...] takes at most one type argument [misc]
12-
qualifiers_final_annotation.py:49: error: Type in Final[...] can only be omitted if there is an initializer [misc]
13-
qualifiers_final_annotation.py:53: error: Final name must be initialized with a value [misc]
14-
qualifiers_final_annotation.py:69: error: Cannot assign to final attribute "ID5" [misc]
15-
qualifiers_final_annotation.py:74: error: Cannot assign to final attribute "ID6" [misc]
16-
qualifiers_final_annotation.py:77: error: Can only declare a final attribute in class body or __init__ [misc]
10+
qualifiers_final_annotation.py:23: error: Argument 1 to "expects_one" has incompatible type "int"; expected "Literal[1]" [arg-type]
11+
qualifiers_final_annotation.py:32: error: Type in Final[...] can only be omitted if there is an initializer [misc]
12+
qualifiers_final_annotation.py:34: error: Final[...] takes at most one type argument [misc]
13+
qualifiers_final_annotation.py:50: error: Type in Final[...] can only be omitted if there is an initializer [misc]
14+
qualifiers_final_annotation.py:54: error: Final name must be initialized with a value [misc]
15+
qualifiers_final_annotation.py:70: error: Cannot assign to final attribute "ID5" [misc]
16+
qualifiers_final_annotation.py:75: error: Cannot assign to final attribute "ID6" [misc]
1717
qualifiers_final_annotation.py:78: error: Can only declare a final attribute in class body or __init__ [misc]
18-
qualifiers_final_annotation.py:80: error: Cannot assign to final attribute "ID7" [misc]
19-
qualifiers_final_annotation.py:82: error: Cannot assign to final attribute "ID7" [misc]
20-
qualifiers_final_annotation.py:86: error: Cannot assign to final name "RATE" [misc]
21-
qualifiers_final_annotation.py:96: error: Cannot assign to final attribute "DEFAULT_ID" [misc]
22-
qualifiers_final_annotation.py:109: error: Cannot assign to final name "BORDER_WIDTH" [misc]
23-
qualifiers_final_annotation.py:111: error: Cannot assign to final name "__private" [misc]
24-
qualifiers_final_annotation.py:122: error: Final can be only used as an outermost qualifier in a variable annotation [valid-type]
25-
qualifiers_final_annotation.py:123: error: Variable should not be annotated with both ClassVar and Final [misc]
26-
qualifiers_final_annotation.py:133: error: Final can be only used as an outermost qualifier in a variable annotation [valid-type]
27-
qualifiers_final_annotation.py:136: error: Final can be only used as an outermost qualifier in a variable annotation [valid-type]
28-
qualifiers_final_annotation.py:146: error: Final[...] can't be used inside a TypedDict [valid-type]
29-
qualifiers_final_annotation.py:151: error: Final[...] can't be used inside a NamedTuple [valid-type]
30-
qualifiers_final_annotation.py:160: error: Invalid "NamedTuple()" field name [misc]
31-
qualifiers_final_annotation.py:162: error: Unexpected keyword argument "x" for "N" [call-arg]
32-
qualifiers_final_annotation.py:162: error: Unexpected keyword argument "y" for "N" [call-arg]
33-
qualifiers_final_annotation.py:163: error: Unexpected keyword argument "a" for "N" [call-arg]
34-
qualifiers_final_annotation.py:164: error: Unexpected keyword argument "x" for "N" [call-arg]
35-
qualifiers_final_annotation.py:164: error: Unexpected keyword argument "y" for "N" [call-arg]
36-
qualifiers_final_annotation.py:170: error: Cannot assign to final name "ID1" [misc]
37-
qualifiers_final_annotation.py:174: error: Cannot assign to final name "x" [misc]
38-
qualifiers_final_annotation.py:176: error: Cannot assign to final name "x" [misc]
39-
qualifiers_final_annotation.py:181: error: Incompatible types in assignment (expression has type "TextIOWrapper[_WrappedBuffer]", variable has type "int") [assignment]
40-
qualifiers_final_annotation.py:184: error: Cannot assign to final name "x" [misc]
41-
qualifiers_final_annotation.py:195: error: Cannot assign to final name "TEN" [misc]
42-
qualifiers_final_annotation.py:199: error: Cannot assign to final name "PI" [misc]
18+
qualifiers_final_annotation.py:79: error: Can only declare a final attribute in class body or __init__ [misc]
19+
qualifiers_final_annotation.py:81: error: Cannot assign to final attribute "ID7" [misc]
20+
qualifiers_final_annotation.py:83: error: Cannot assign to final attribute "ID7" [misc]
21+
qualifiers_final_annotation.py:87: error: Cannot assign to final name "RATE" [misc]
22+
qualifiers_final_annotation.py:97: error: Cannot assign to final attribute "DEFAULT_ID" [misc]
23+
qualifiers_final_annotation.py:110: error: Cannot assign to final name "BORDER_WIDTH" [misc]
24+
qualifiers_final_annotation.py:112: error: Cannot assign to final name "__private" [misc]
25+
qualifiers_final_annotation.py:123: error: Final can be only used as an outermost qualifier in a variable annotation [valid-type]
26+
qualifiers_final_annotation.py:124: error: Variable should not be annotated with both ClassVar and Final [misc]
27+
qualifiers_final_annotation.py:134: error: Final can be only used as an outermost qualifier in a variable annotation [valid-type]
28+
qualifiers_final_annotation.py:137: error: Final can be only used as an outermost qualifier in a variable annotation [valid-type]
29+
qualifiers_final_annotation.py:147: error: Final[...] can't be used inside a TypedDict [valid-type]
30+
qualifiers_final_annotation.py:152: error: Final[...] can't be used inside a NamedTuple [valid-type]
31+
qualifiers_final_annotation.py:161: error: Invalid "NamedTuple()" field name [misc]
32+
qualifiers_final_annotation.py:163: error: Unexpected keyword argument "x" for "N" [call-arg]
33+
qualifiers_final_annotation.py:163: error: Unexpected keyword argument "y" for "N" [call-arg]
34+
qualifiers_final_annotation.py:164: error: Unexpected keyword argument "a" for "N" [call-arg]
35+
qualifiers_final_annotation.py:165: error: Unexpected keyword argument "x" for "N" [call-arg]
36+
qualifiers_final_annotation.py:165: error: Unexpected keyword argument "y" for "N" [call-arg]
37+
qualifiers_final_annotation.py:171: error: Cannot assign to final name "ID1" [misc]
38+
qualifiers_final_annotation.py:175: error: Cannot assign to final name "x" [misc]
39+
qualifiers_final_annotation.py:177: error: Cannot assign to final name "x" [misc]
40+
qualifiers_final_annotation.py:182: error: Incompatible types in assignment (expression has type "TextIOWrapper[_WrappedBuffer]", variable has type "int") [assignment]
41+
qualifiers_final_annotation.py:185: error: Cannot assign to final name "x" [misc]
42+
qualifiers_final_annotation.py:196: error: Cannot assign to final name "TEN" [misc]
43+
qualifiers_final_annotation.py:200: error: Cannot assign to final name "PI" [misc]
4344
"""
4445
conformance_automated = "Fail"
4546
errors_diff = """
46-
Line 178: Expected 1 errors
47-
Line 74: Unexpected errors ['qualifiers_final_annotation.py:74: error: Cannot assign to final attribute "ID6" [misc]']
48-
Line 111: Unexpected errors ['qualifiers_final_annotation.py:111: error: Cannot assign to final name "__private" [misc]']
49-
Line 160: Unexpected errors ['qualifiers_final_annotation.py:160: error: Invalid "NamedTuple()" field name [misc]']
50-
Line 162: Unexpected errors ['qualifiers_final_annotation.py:162: error: Unexpected keyword argument "x" for "N" [call-arg]', 'qualifiers_final_annotation.py:162: error: Unexpected keyword argument "y" for "N" [call-arg]']
47+
Line 179: Expected 1 errors
48+
Line 75: Unexpected errors ['qualifiers_final_annotation.py:75: error: Cannot assign to final attribute "ID6" [misc]']
49+
Line 112: Unexpected errors ['qualifiers_final_annotation.py:112: error: Cannot assign to final name "__private" [misc]']
50+
Line 161: Unexpected errors ['qualifiers_final_annotation.py:161: error: Invalid "NamedTuple()" field name [misc]']
51+
Line 163: Unexpected errors ['qualifiers_final_annotation.py:163: error: Unexpected keyword argument "x" for "N" [call-arg]', 'qualifiers_final_annotation.py:163: error: Unexpected keyword argument "y" for "N" [call-arg]']
5152
"""
Lines changed: 31 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,38 @@
1-
conformant = "Partial"
2-
notes = """
3-
Infers invalid `Literal[range(0, 1)]` from `Final`
4-
"""
5-
conformance_automated = "Fail"
1+
conformance_automated = "Pass"
62
errors_diff = """
7-
Line 25: Unexpected errors ['./qualifiers_final_annotation.py:25:12: Literal[range(0, 1)] is not equivalent to range']
83
"""
94
output = """
105
./qualifiers_final_annotation.py:20:12: Incompatible argument type for x: expected Literal[1] but got int [incompatible_argument]
11-
./qualifiers_final_annotation.py:25:12: Literal[range(0, 1)] is not equivalent to range
12-
./qualifiers_final_annotation.py:31:6: Final annotation without assignment requires an explicit type [invalid_qualifier]
13-
./qualifiers_final_annotation.py:33:6: Invalid type annotation (<class 'str'>, <class 'int'>) [invalid_annotation]
14-
./qualifiers_final_annotation.py:49:9: Final annotation without assignment requires an explicit type [invalid_qualifier]
15-
./qualifiers_final_annotation.py:49:4: Final class attributes without initializers must be assigned in __init__ [invalid_qualifier]
16-
./qualifiers_final_annotation.py:53:4: Final class attributes without initializers must be assigned in __init__ [invalid_qualifier]
17-
./qualifiers_final_annotation.py:69:8: Cannot assign to final name ID5 [incompatible_assignment]
18-
./qualifiers_final_annotation.py:77:18: Final instance attributes may be declared only in __init__ [invalid_qualifier]
6+
./qualifiers_final_annotation.py:23:12: Incompatible argument type for x: expected Literal[1] but got int [incompatible_argument]
7+
./qualifiers_final_annotation.py:26:12: Literal[range(0, 1)] is not equivalent to range
8+
./qualifiers_final_annotation.py:32:6: Final annotation without assignment requires an explicit type [invalid_qualifier]
9+
./qualifiers_final_annotation.py:34:6: Invalid type annotation (<class 'str'>, <class 'int'>) [invalid_annotation]
10+
./qualifiers_final_annotation.py:50:9: Final annotation without assignment requires an explicit type [invalid_qualifier]
11+
./qualifiers_final_annotation.py:50:4: Final class attributes without initializers must be assigned in __init__ [invalid_qualifier]
12+
./qualifiers_final_annotation.py:54:4: Final class attributes without initializers must be assigned in __init__ [invalid_qualifier]
13+
./qualifiers_final_annotation.py:70:8: Cannot assign to final name ID5 [incompatible_assignment]
1914
./qualifiers_final_annotation.py:78:18: Final instance attributes may be declared only in __init__ [invalid_qualifier]
20-
./qualifiers_final_annotation.py:80:8: Cannot assign to final name ID7 [incompatible_assignment]
21-
./qualifiers_final_annotation.py:82:8: Cannot assign to final name ID7 [incompatible_assignment]
22-
./qualifiers_final_annotation.py:86:0: Cannot assign to final name RATE [incompatible_assignment]
23-
./qualifiers_final_annotation.py:96:0: Cannot assign to final name DEFAULT_ID [incompatible_assignment]
24-
./qualifiers_final_annotation.py:109:4: Cannot override final attribute BORDER_WIDTH [incompatible_override]
25-
./qualifiers_final_annotation.py:122:12: Final cannot be combined with ClassVar [invalid_qualifier]
15+
./qualifiers_final_annotation.py:79:18: Final instance attributes may be declared only in __init__ [invalid_qualifier]
16+
./qualifiers_final_annotation.py:81:8: Cannot assign to final name ID7 [incompatible_assignment]
17+
./qualifiers_final_annotation.py:83:8: Cannot assign to final name ID7 [incompatible_assignment]
18+
./qualifiers_final_annotation.py:87:0: Cannot assign to final name RATE [incompatible_assignment]
19+
./qualifiers_final_annotation.py:97:0: Cannot assign to final name DEFAULT_ID [incompatible_assignment]
20+
./qualifiers_final_annotation.py:110:4: Cannot override final attribute BORDER_WIDTH [incompatible_override]
2621
./qualifiers_final_annotation.py:123:12: Final cannot be combined with ClassVar [invalid_qualifier]
27-
./qualifiers_final_annotation.py:133:3: Unrecognized annotation typing.Final[<class 'int'>] [invalid_annotation]
28-
./qualifiers_final_annotation.py:136:13: Unexpected Final annotation [invalid_qualifier]
29-
./qualifiers_final_annotation.py:146:7: Unexpected Final annotation [invalid_qualifier]
30-
./qualifiers_final_annotation.py:151:4: Final class attributes without initializers must be assigned in __init__ [invalid_qualifier]
31-
./qualifiers_final_annotation.py:163:0: In call to pycroscope.signature.N: Missing required argument 'x' [incompatible_call]
32-
./qualifiers_final_annotation.py:164:4: Incompatible argument type for x: expected int but got Literal[''] [incompatible_argument]
33-
./qualifiers_final_annotation.py:164:10: Incompatible argument type for y: expected int but got Literal[''] [incompatible_argument]
34-
./qualifiers_final_annotation.py:170:4: Cannot assign to final name ID1 [incompatible_assignment]
35-
./qualifiers_final_annotation.py:174:4: Cannot assign to final name x [incompatible_assignment]
36-
./qualifiers_final_annotation.py:176:9: Cannot assign to final name x [incompatible_assignment]
37-
./qualifiers_final_annotation.py:178:8: Cannot assign to final name x [incompatible_assignment]
38-
./qualifiers_final_annotation.py:181:29: Cannot assign to final name x [incompatible_assignment]
39-
./qualifiers_final_annotation.py:184:8: Cannot assign to final name x [incompatible_assignment]
40-
./qualifiers_final_annotation.py:195:0: Cannot assign to final name TEN [incompatible_assignment]
41-
./qualifiers_final_annotation.py:199:0: Cannot assign to final name PI [incompatible_assignment]
22+
./qualifiers_final_annotation.py:124:12: Final cannot be combined with ClassVar [invalid_qualifier]
23+
./qualifiers_final_annotation.py:134:3: Unrecognized annotation typing.Final[<class 'int'>] [invalid_annotation]
24+
./qualifiers_final_annotation.py:137:13: Unexpected Final annotation [invalid_qualifier]
25+
./qualifiers_final_annotation.py:147:7: Unexpected Final annotation [invalid_qualifier]
26+
./qualifiers_final_annotation.py:152:4: Final class attributes without initializers must be assigned in __init__ [invalid_qualifier]
27+
./qualifiers_final_annotation.py:164:0: In call to pycroscope.signature.N: Missing required argument 'x' [incompatible_call]
28+
./qualifiers_final_annotation.py:165:4: Incompatible argument type for x: expected int but got Literal[''] [incompatible_argument]
29+
./qualifiers_final_annotation.py:165:10: Incompatible argument type for y: expected int but got Literal[''] [incompatible_argument]
30+
./qualifiers_final_annotation.py:171:4: Cannot assign to final name ID1 [incompatible_assignment]
31+
./qualifiers_final_annotation.py:175:4: Cannot assign to final name x [incompatible_assignment]
32+
./qualifiers_final_annotation.py:177:9: Cannot assign to final name x [incompatible_assignment]
33+
./qualifiers_final_annotation.py:179:8: Cannot assign to final name x [incompatible_assignment]
34+
./qualifiers_final_annotation.py:182:29: Cannot assign to final name x [incompatible_assignment]
35+
./qualifiers_final_annotation.py:185:8: Cannot assign to final name x [incompatible_assignment]
36+
./qualifiers_final_annotation.py:196:0: Cannot assign to final name TEN [incompatible_assignment]
37+
./qualifiers_final_annotation.py:200:0: Cannot assign to final name PI [incompatible_assignment]
4238
"""

0 commit comments

Comments
 (0)