Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Crash when Python 2 argument list has a tuple argument

Abierto
#95 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
python
Área
devtools

Línea de trabajo

Empieza en pyannotate_tools/fixes/fix_annotate.py alrededor de la línea 167, donde el traceback muestra una aserción sobre token.COMMA para un argumento de tupla anidada. Reproduce el ejemplo de Python 2 y sigue el procesamiento de la lista de argumentos; se considera hecho cuando ya no se bloquea con esa sintaxis y el comportamiento de anotación existente permanece intacto.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug

This causes a crash (Python 2 only):

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 <module>
    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
Lenguaje dominante
Python
Estrellas
1.4k
Forks
59
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de dropbox/pyannotate

Todos los issues de dropbox/pyannotate

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.