Ran into this today. If you forget to close parentheses as part of a call in the header of a for, with, or class statement (maybe others too?), the SyntaxError seems to indicate that you forgot a colon:
>>>forfooinbar(baz:
File"<stdin>", line1forfooinbar(baz:
^SyntaxError: expected':'
It's not wrong, but could probably be improved. I personally find the pre-3.10 behavior more helpful:
>>>bar(baz:
File"<stdin>", line1forfooinbar(baz:
^SyntaxError: invalidsyntax
Even better, though, would be a "smarter" error message like the existing ones we have for unclosed parentheses:
>>>bar(baz:
File"<stdin>", line1forfooinbar(baz:
^SyntaxError: '('wasneverclosed@pablogsal
Ran into this today. If you forget to close parentheses as part of a call in the header of a
for,with, orclassstatement (maybe others too?), theSyntaxErrorseems to indicate that you forgot a colon:It's not wrong, but could probably be improved. I personally find the pre-3.10 behavior more helpful:
Even better, though, would be a "smarter" error message like the existing ones we have for unclosed parentheses:
@pablogsal