dropbox / dropbox/pyannotate

Crash when Python 2 argument list has a tuple argument

Open
#95 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Python
Stars
1.4k
Forks
60
PR merge metrics
No merged PRs in 30d

Description

This causes a crash (Python 2 only):

```py
def f((x, y)): # Note nested tuple within argument list
pass
```
Here's the traceback:

```
Traceback (most recent call last):
File ".mypy/venv-tools/bin/pyannotate", line 9, in
load_entry_point('pyannotate==1.2.0', 'console_scripts', 'pyannotate')()
File "/Users/jukka/src/server/.mypy/venv-tools/lib/python3.7/site-packages/pyannotate_tools/annotations/__main__.py", line 143, in main
rt.refactor(args.files, write=args.write, num_processes=args.processes)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib2to3/refactor.py", line 687, in refactor
items, write, doctests_only)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib2to3/refactor.py", line 282, in refactor
self.refactor_file(dir_or_file, write, doctests_only)
File "/Users/jukka/src/server/.mypy/venv-tools/lib/python3.7/site-packages/pyannotate_tools/annotations/__main__.py", line 57, in refactor_file
filename, write=write, doctests_only=doctests_only)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib2to3/refactor.py", line 728, in refactor_file
*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib2to3/refactor.py", line 335, in refactor_file
tree = self.refactor_string(input, filename)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib2to3/refactor.py", line 367, in refactor_string
self.refactor_tree(tree, name)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib2to3/refactor.py", line 441, in refactor_tree
new = fixer.transform(node, results)
File "/Users/jukka/src/server/.mypy/venv-tools/lib/python3.7/site-packages/pyannotate_tools/fixes/fix_annotate.py", line 167, in transform
assert ch.type == token.COMMA
AssertionError
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.