Crash when annotating a method with `**kwargs`
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 42/100
Línea de trabajo
Reproduce el fallo con el método de clase y la firma larga proporcionados. Inspecciona pyannotate_tools/fixes/fix_annotate.py, siguiendo transform a través de add_py2_annot y insert_long_form, hasta donde el traceback llega a la aserción. La tarea está completada cuando la entrada proporcionada termina sin el AssertionError.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Trying to annotate this code:
class C:
def test_xx(self,
a=1,
b=1,
c=1,
d=1,
**kwargs):
pass
triggers a crash with following traceback:
Traceback (most recent call last):
[...snip...]
File "/lib/python3.7/lib2to3/refactor.py", line 282, in refactor
self.refactor_file(dir_or_file, write, doctests_only)
File "/lib/python3.7/site-packages/pyannotate_tools/annotations/__main__.py", line 57, in refactor_file
filename, write=write, doctests_only=doctests_only)
File "/lib/python3.7/lib2to3/refactor.py", line 728, in refactor_file
*args, **kwargs)
File "/lib/python3.7/lib2to3/refactor.py", line 335, in refactor_file
tree = self.refactor_string(input, filename)
File "/lib/python3.7/lib2to3/refactor.py", line 367, in refactor_string
self.refactor_tree(tree, name)
File "/lib/python3.7/lib2to3/refactor.py", line 441, in refactor_tree
new = fixer.transform(node, results)
File "/lib/python3.7/site-packages/pyannotate_tools/fixes/fix_annotate.py", line 181, in transform
self.add_py2_annot(argtypes, restype, node, results)
File "/lib/python3.7/site-packages/pyannotate_tools/fixes/fix_annotate.py", line 276, in add_py2_annot
self.insert_long_form(node, results, argtypes)
File "/lib/python3.7/site-packages/pyannotate_tools/fixes/fix_annotate.py", line 342, in insert_long_form
assert not argtypes, argtypes
AssertionError: ['**Any']
Couple notes on triggering the crash:
- It must be a method, not function
- The signature must be long
- Lenguaje dominante
- Python
- Estrellas
- 1.4k
- Forks
- 59
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de dropbox/pyannotate
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
dropbox/pyannotate#124 · 3 reacciones ·
-
Test failures on Python 3.12Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
dropbox/pyannotate#123 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
dropbox/pyannotate#115 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
dropbox/pyannotate#109 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
dropbox/pyannotate#103 · 6 comentarios · 1 reacción ·
Todos los issues de dropbox/pyannotate
Issues similares
-
Add `django-upgrade` to the CIAbiertodependencies feature github_actions good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
wemake-services/wemake-django-template#3149 ·
Los mantenedores suelen responder en 1 día
-
[request] vsg/1.1.16Abiertoupstream update
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
conan-io/conan-center-index#31142 ·
Los mantenedores suelen responder en 1 día
-
area:core bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
request-theme
Dificultad 2/5 Menos de una hora Aptitud para principiantes 70/100
LizardByte/ThemerrDB#8877 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
area/install-update comp/gateway P0 sweeper:risk-compatibility type/bug
Dificultad 2/5 Menos de una hora Aptitud para principiantes 72/100
NousResearch/hermes-agent#135997 · 3 comentarios ·
Los mantenedores suelen responder en 1 día