Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 45 additions & 34 deletions conformance/results/mypy/qualifiers_final_annotation.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,45 +4,56 @@ Does not treat use of Final name as if it was replaced by the literal in NamedTu
Does not allow conditional assignment of Final instance variable in __init__ method.
Does not allow redefinition of private class variable that is marked Final in parent class.
Does not report modification of local Final variable via "for" statement.
Does not allow split assignments.
"""
output = """
qualifiers_final_annotation.py:16: error: Type in Final[...] can only be omitted if there is an initializer [misc]
qualifiers_final_annotation.py:18: error: Final[...] takes at most one type argument [misc]
qualifiers_final_annotation.py:34: error: Type in Final[...] can only be omitted if there is an initializer [misc]
qualifiers_final_annotation.py:38: error: Final name must be initialized with a value [misc]
qualifiers_final_annotation.py:54: error: Cannot assign to final attribute "ID5" [misc]
qualifiers_final_annotation.py:59: error: Cannot assign to final attribute "ID6" [misc]
qualifiers_final_annotation.py:62: error: Can only declare a final attribute in class body or __init__ [misc]
qualifiers_final_annotation.py:63: error: Can only declare a final attribute in class body or __init__ [misc]
qualifiers_final_annotation.py:65: error: Cannot assign to final attribute "ID7" [misc]
qualifiers_final_annotation.py:67: error: Cannot assign to final attribute "ID7" [misc]
qualifiers_final_annotation.py:71: error: Cannot assign to final name "RATE" [misc]
qualifiers_final_annotation.py:81: error: Cannot assign to final attribute "DEFAULT_ID" [misc]
qualifiers_final_annotation.py:94: error: Cannot assign to final name "BORDER_WIDTH" [misc]
qualifiers_final_annotation.py:96: error: Cannot assign to final name "__private" [misc]
qualifiers_final_annotation.py:107: error: Final can be only used as an outermost qualifier in a variable annotation [valid-type]
qualifiers_final_annotation.py:108: error: Variable should not be annotated with both ClassVar and Final [misc]
qualifiers_final_annotation.py:118: error: Final can be only used as an outermost qualifier in a variable annotation [valid-type]
qualifiers_final_annotation.py:121: error: Final can be only used as an outermost qualifier in a variable annotation [valid-type]
qualifiers_final_annotation.py:131: error: Invalid "NamedTuple()" field name [misc]
qualifiers_final_annotation.py:133: error: Unexpected keyword argument "x" for "N" [call-arg]
qualifiers_final_annotation.py:133: error: Unexpected keyword argument "y" for "N" [call-arg]
qualifiers_final_annotation.py:134: error: Unexpected keyword argument "a" for "N" [call-arg]
qualifiers_final_annotation.py:135: error: Unexpected keyword argument "x" for "N" [call-arg]
qualifiers_final_annotation.py:135: error: Unexpected keyword argument "y" for "N" [call-arg]
qualifiers_final_annotation.py:141: error: Cannot assign to final name "ID1" [misc]
qualifiers_final_annotation.py:145: error: Cannot assign to final name "x" [misc]
qualifiers_final_annotation.py:147: error: Cannot assign to final name "x" [misc]
qualifiers_final_annotation.py:152: error: Incompatible types in assignment (expression has type "TextIOWrapper[_WrappedBuffer]", variable has type "int") [assignment]
qualifiers_final_annotation.py:155: error: Cannot assign to final name "x" [misc]
qualifiers_final_annotation.py:166: error: Cannot assign to final name "TEN" [misc]
qualifiers_final_annotation.py:170: error: Cannot assign to final name "PI" [misc]
qualifiers_final_annotation.py:33: error: Final name must be initialized with a value [misc]
qualifiers_final_annotation.py:36: error: Cannot assign to final name "ID3" [misc]
qualifiers_final_annotation.py:38: error: Cannot assign to final name "ID3" [misc]
qualifiers_final_annotation.py:40: error: Final name must be initialized with a value [misc]
qualifiers_final_annotation.py:43: error: Cannot assign to final name "ID4" [misc]
qualifiers_final_annotation.py:45: error: Final name must be initialized with a value [misc]
qualifiers_final_annotation.py:54: error: Type in Final[...] can only be omitted if there is an initializer [misc]
qualifiers_final_annotation.py:58: error: Final name must be initialized with a value [misc]
qualifiers_final_annotation.py:74: error: Cannot assign to final attribute "ID5" [misc]
qualifiers_final_annotation.py:79: error: Cannot assign to final attribute "ID6" [misc]
qualifiers_final_annotation.py:82: error: Can only declare a final attribute in class body or __init__ [misc]
qualifiers_final_annotation.py:83: error: Can only declare a final attribute in class body or __init__ [misc]
qualifiers_final_annotation.py:85: error: Cannot assign to final attribute "ID7" [misc]
qualifiers_final_annotation.py:87: error: Cannot assign to final attribute "ID7" [misc]
qualifiers_final_annotation.py:91: error: Cannot assign to final name "RATE" [misc]
qualifiers_final_annotation.py:101: error: Cannot assign to final attribute "DEFAULT_ID" [misc]
qualifiers_final_annotation.py:114: error: Cannot assign to final name "BORDER_WIDTH" [misc]
qualifiers_final_annotation.py:116: error: Cannot assign to final name "__private" [misc]
qualifiers_final_annotation.py:127: error: Final can be only used as an outermost qualifier in a variable annotation [valid-type]
qualifiers_final_annotation.py:128: error: Variable should not be annotated with both ClassVar and Final [misc]
qualifiers_final_annotation.py:138: error: Final can be only used as an outermost qualifier in a variable annotation [valid-type]
qualifiers_final_annotation.py:141: error: Final can be only used as an outermost qualifier in a variable annotation [valid-type]
qualifiers_final_annotation.py:151: error: Invalid "NamedTuple()" field name [misc]
qualifiers_final_annotation.py:153: error: Unexpected keyword argument "x" for "N" [call-arg]
qualifiers_final_annotation.py:153: error: Unexpected keyword argument "y" for "N" [call-arg]
qualifiers_final_annotation.py:154: error: Unexpected keyword argument "a" for "N" [call-arg]
qualifiers_final_annotation.py:155: error: Unexpected keyword argument "x" for "N" [call-arg]
qualifiers_final_annotation.py:155: error: Unexpected keyword argument "y" for "N" [call-arg]
qualifiers_final_annotation.py:161: error: Cannot assign to final name "ID1" [misc]
qualifiers_final_annotation.py:165: error: Cannot assign to final name "x" [misc]
qualifiers_final_annotation.py:167: error: Cannot assign to final name "x" [misc]
qualifiers_final_annotation.py:172: error: Incompatible types in assignment (expression has type "TextIOWrapper[_WrappedBuffer]", variable has type "int") [assignment]
qualifiers_final_annotation.py:175: error: Cannot assign to final name "x" [misc]
qualifiers_final_annotation.py:186: error: Cannot assign to final name "TEN" [misc]
qualifiers_final_annotation.py:190: error: Cannot assign to final name "PI" [misc]
"""
conformance_automated = "Fail"
errors_diff = """
Line 149: Expected 1 errors
Line 59: Unexpected errors ['qualifiers_final_annotation.py:59: error: Cannot assign to final attribute "ID6" [misc]']
Line 96: Unexpected errors ['qualifiers_final_annotation.py:96: error: Cannot assign to final name "__private" [misc]']
Line 131: Unexpected errors ['qualifiers_final_annotation.py:131: error: Invalid "NamedTuple()" field name [misc]']
Line 133: Unexpected errors ['qualifiers_final_annotation.py:133: error: Unexpected keyword argument "x" for "N" [call-arg]', 'qualifiers_final_annotation.py:133: error: Unexpected keyword argument "y" for "N" [call-arg]']
Line 169: Expected 1 errors
Line 33: Unexpected errors ['qualifiers_final_annotation.py:33: error: Final name must be initialized with a value [misc]']
Line 36: Unexpected errors ['qualifiers_final_annotation.py:36: error: Cannot assign to final name "ID3" [misc]']
Line 38: Unexpected errors ['qualifiers_final_annotation.py:38: error: Cannot assign to final name "ID3" [misc]']
Line 43: Unexpected errors ['qualifiers_final_annotation.py:43: error: Cannot assign to final name "ID4" [misc]']
Line 79: Unexpected errors ['qualifiers_final_annotation.py:79: error: Cannot assign to final attribute "ID6" [misc]']
Line 116: Unexpected errors ['qualifiers_final_annotation.py:116: error: Cannot assign to final name "__private" [misc]']
Line 151: Unexpected errors ['qualifiers_final_annotation.py:151: error: Invalid "NamedTuple()" field name [misc]']
Line 153: Unexpected errors ['qualifiers_final_annotation.py:153: error: Unexpected keyword argument "x" for "N" [call-arg]', 'qualifiers_final_annotation.py:153: error: Unexpected keyword argument "y" for "N" [call-arg]']
"""
69 changes: 37 additions & 32 deletions conformance/results/pyrefly/qualifiers_final_annotation.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,43 +2,48 @@ conformant = "Partial"
notes = """
Does not reject Final inside ClassVar.
Issues with NamedTuple interaction.
Does not allow split assignments.
"""
conformance_automated = "Fail"
errors_diff = """
Line 107: Expected 1 errors
Line 131: Unexpected errors ['Expected first item to be a string literal [invalid-argument]', 'Expected first item to be a string literal [invalid-argument]']
Line 133: Unexpected errors ['Unexpected keyword argument `x` in function `N.__new__` [unexpected-keyword]', 'Unexpected keyword argument `y` in function `N.__new__` [unexpected-keyword]']
Line 127: Expected 1 errors
Line 33: Unexpected errors ['Final name must be initialized with a value [invalid-annotation]']
Line 151: Unexpected errors ['Expected first item to be a string literal [invalid-argument]', 'Expected first item to be a string literal [invalid-argument]']
Line 153: Unexpected errors ['Unexpected keyword argument `x` in function `N.__new__` [unexpected-keyword]', 'Unexpected keyword argument `y` in function `N.__new__` [unexpected-keyword]']
"""
output = """
ERROR qualifiers_final_annotation.py:16:7-12: Expected a type argument for `Final` [invalid-annotation]
ERROR qualifiers_final_annotation.py:18:7-22: Expected 1 type argument for `Final`, got 2 [invalid-annotation]
ERROR qualifiers_final_annotation.py:34:5-8: Final attribute declared in class body must be initialized with a value or in `__init__` [invalid-annotation]
ERROR qualifiers_final_annotation.py:38:5-8: Final attribute declared in class body must be initialized with a value or in `__init__` [invalid-annotation]
ERROR qualifiers_final_annotation.py:54:9-17: Cannot set field `ID5` [read-only]
ERROR qualifiers_final_annotation.py:62:9-17: Cannot set field `id3` [read-only]
ERROR qualifiers_final_annotation.py:63:9-17: Cannot set field `id4` [read-only]
ERROR qualifiers_final_annotation.py:65:9-17: Cannot set field `ID7` [read-only]
ERROR qualifiers_final_annotation.py:67:9-17: Cannot set field `ID7` [read-only]
ERROR qualifiers_final_annotation.py:71:8-11: Cannot assign to variable `RATE` because it is marked final [bad-assignment]
ERROR qualifiers_final_annotation.py:81:1-18: Cannot set field `DEFAULT_ID` [read-only]
ERROR qualifiers_final_annotation.py:94:5-17: `BORDER_WIDTH` is declared as final in parent class `ClassC` [bad-override]
ERROR qualifiers_final_annotation.py:108:19-27: `ClassVar` may not be nested inside `Final` [invalid-annotation]
ERROR qualifiers_final_annotation.py:118:9-19: `Final` is not allowed in this context [invalid-annotation]
ERROR qualifiers_final_annotation.py:121:14-19: `Final` is only allowed on a class or local variable annotation [invalid-annotation]
ERROR qualifiers_final_annotation.py:121:14-30: `Final` is not allowed in this context [invalid-annotation]
ERROR qualifiers_final_annotation.py:131:23-24: Expected first item to be a string literal [invalid-argument]
ERROR qualifiers_final_annotation.py:131:33-34: Expected first item to be a string literal [invalid-argument]
ERROR qualifiers_final_annotation.py:133:3-4: Unexpected keyword argument `x` in function `N.__new__` [unexpected-keyword]
ERROR qualifiers_final_annotation.py:133:8-9: Unexpected keyword argument `y` in function `N.__new__` [unexpected-keyword]
ERROR qualifiers_final_annotation.py:134:3-4: Unexpected keyword argument `a` in function `N.__new__` [unexpected-keyword]
ERROR qualifiers_final_annotation.py:135:3-4: Unexpected keyword argument `x` in function `N.__new__` [unexpected-keyword]
ERROR qualifiers_final_annotation.py:135:9-10: Unexpected keyword argument `y` in function `N.__new__` [unexpected-keyword]
ERROR qualifiers_final_annotation.py:141:11-12: Cannot assign to variable `ID1` because it is marked final [bad-assignment]
ERROR qualifiers_final_annotation.py:145:5-11: Cannot assign to variable `x` because it is marked final [bad-assignment]
ERROR qualifiers_final_annotation.py:147:15-16: Cannot assign to variable `x` because it is marked final [bad-assignment]
ERROR qualifiers_final_annotation.py:149:14-23: Cannot assign to variable `x` because it is marked final [bad-assignment]
ERROR qualifiers_final_annotation.py:152:10-26: Cannot assign to variable `x` because it is marked final [bad-assignment]
ERROR qualifiers_final_annotation.py:155:5-11: Cannot assign to variable `x` because it is marked final [bad-assignment]
ERROR qualifiers_final_annotation.py:166:1-4: Cannot assign to `TEN` because it is imported as final [bad-assignment]
ERROR qualifiers_final_annotation.py:170:1-3: Cannot assign to `PI` because it is imported as final [bad-assignment]
ERROR qualifiers_final_annotation.py:33:1-4: Final name must be initialized with a value [invalid-annotation]
ERROR qualifiers_final_annotation.py:40:1-4: Final name must be initialized with a value [invalid-annotation]
ERROR qualifiers_final_annotation.py:45:1-4: Final name must be initialized with a value [invalid-annotation]
ERROR qualifiers_final_annotation.py:54:5-8: Final attribute declared in class body must be initialized with a value or in `__init__` [invalid-annotation]
ERROR qualifiers_final_annotation.py:58:5-8: Final attribute declared in class body must be initialized with a value or in `__init__` [invalid-annotation]
ERROR qualifiers_final_annotation.py:74:9-17: Cannot set field `ID5` [read-only]
ERROR qualifiers_final_annotation.py:82:9-17: Cannot set field `id3` [read-only]
ERROR qualifiers_final_annotation.py:83:9-17: Cannot set field `id4` [read-only]
ERROR qualifiers_final_annotation.py:85:9-17: Cannot set field `ID7` [read-only]
ERROR qualifiers_final_annotation.py:87:9-17: Cannot set field `ID7` [read-only]
ERROR qualifiers_final_annotation.py:91:8-11: Cannot assign to variable `RATE` because it is marked final [bad-assignment]
ERROR qualifiers_final_annotation.py:101:1-18: Cannot set field `DEFAULT_ID` [read-only]
ERROR qualifiers_final_annotation.py:114:5-17: `BORDER_WIDTH` is declared as final in parent class `ClassC` [bad-override]
ERROR qualifiers_final_annotation.py:128:19-27: `ClassVar` may not be nested inside `Final` [invalid-annotation]
ERROR qualifiers_final_annotation.py:138:9-19: `Final` is not allowed in this context [invalid-annotation]
ERROR qualifiers_final_annotation.py:141:14-19: `Final` is only allowed on a class or local variable annotation [invalid-annotation]
ERROR qualifiers_final_annotation.py:141:14-30: `Final` is not allowed in this context [invalid-annotation]
ERROR qualifiers_final_annotation.py:151:23-24: Expected first item to be a string literal [invalid-argument]
ERROR qualifiers_final_annotation.py:151:33-34: Expected first item to be a string literal [invalid-argument]
ERROR qualifiers_final_annotation.py:153:3-4: Unexpected keyword argument `x` in function `N.__new__` [unexpected-keyword]
ERROR qualifiers_final_annotation.py:153:8-9: Unexpected keyword argument `y` in function `N.__new__` [unexpected-keyword]
ERROR qualifiers_final_annotation.py:154:3-4: Unexpected keyword argument `a` in function `N.__new__` [unexpected-keyword]
ERROR qualifiers_final_annotation.py:155:3-4: Unexpected keyword argument `x` in function `N.__new__` [unexpected-keyword]
ERROR qualifiers_final_annotation.py:155:9-10: Unexpected keyword argument `y` in function `N.__new__` [unexpected-keyword]
ERROR qualifiers_final_annotation.py:161:11-12: Cannot assign to variable `ID1` because it is marked final [bad-assignment]
ERROR qualifiers_final_annotation.py:165:5-11: Cannot assign to variable `x` because it is marked final [bad-assignment]
ERROR qualifiers_final_annotation.py:167:15-16: Cannot assign to variable `x` because it is marked final [bad-assignment]
ERROR qualifiers_final_annotation.py:169:14-23: Cannot assign to variable `x` because it is marked final [bad-assignment]
ERROR qualifiers_final_annotation.py:172:10-26: Cannot assign to variable `x` because it is marked final [bad-assignment]
ERROR qualifiers_final_annotation.py:175:5-11: Cannot assign to variable `x` because it is marked final [bad-assignment]
ERROR qualifiers_final_annotation.py:186:1-4: Cannot assign to `TEN` because it is imported as final [bad-assignment]
ERROR qualifiers_final_annotation.py:190:1-3: Cannot assign to `PI` because it is imported as final [bad-assignment]
"""
Loading
Loading