ParseError: Invalid type comment: (__main__:f.<locals>.A) -> None
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Reproduce el fallo con el script proporcionado y pyannotate -w. Empieza en pyannotate_tools/annotations/parse.py, siguiendo tokenize y parse_type_comment a partir del traceback, e inspecciona cómo se gestiona el comentario de tipo <locals>. Se considera terminado cuando el ejemplo ya no produce ParseError al generar anotaciones.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Given t-pyannotate.py:
from pyannotate_runtime import collect_types
collect_types.init_types_collection()
collect_types.start()
def c(obj):
pass
def f():
class A:
pass
c(A())
f()
collect_types.stop()
collect_types.dump_stats("type_info.json")
Produces:
[
{
"path": "t-pyannotate.py",
"line": 8,
"func_name": "c",
"type_comments": [
"(__main__:f.<locals>.A) -> None"
],
"samples": 1
},
{
"path": "t-pyannotate.py",
"line": 12,
"func_name": "f",
"type_comments": [
"() -> None"
],
"samples": 1
},
{
"path": "t-pyannotate.py",
"line": 13,
"func_name": "A",
"type_comments": [
"() -> None"
],
"samples": 1
}
]
Running pyannotate -w then crashes:
Traceback (most recent call last):
File "…/Vcs/pytest/.venv/bin/pyannotate", line 11, in <module>
load_entry_point('pyannotate', 'console_scripts', 'pyannotate')()
File "…/Vcs/pyannotate/pyannotate_tools/annotations/__main__.py", line 125, in main
data = generate_annotations_json_string(
File "…/Vcs/pyannotate/pyannotate_tools/annotations/main.py", line 60, in generate_annotations_json_string
signature = unify_type_comments(item.type_comments)
File "…/Vcs/pyannotate/pyannotate_tools/annotations/main.py", line 27, in unify_type_comments
arg_types, return_type = infer_annotation(type_comments)
File "…/Vcs/pyannotate/pyannotate_tools/annotations/infer.py", line 45, in infer_annotation
arg_types, return_type = parse_type_comment(comment)
File "…/Vcs/pyannotate/pyannotate_tools/annotations/parse.py", line 216, in parse_type_comment
return Parser(comment).parse()
File "…/Vcs/pyannotate/pyannotate_tools/annotations/parse.py", line 225, in __init__
self.tokens = tokenize(comment)
File "…/Vcs/pyannotate/pyannotate_tools/annotations/parse.py", line 193, in tokenize
raise ParseError(original)
pyannotate_tools.annotations.parse.ParseError: Invalid type comment: (__main__:f.<locals>.A) -> None
This is likely due to the "" in there I guess?
pyannotate b7f96ca (current master)
- 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
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
lugassawan/swe-workbench#799 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
vllm-project/vllm#61131 ·
Los mantenedores suelen responder en 1 día
-
Non-string form field names raise AttributeError when files are attachedPosiblemente ocupada @nightcityblade la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
kubernetes-client/python#2735 ·
Los mantenedores suelen responder en 1 día
-
desktop help wanted test
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día