RustPython / RustPython/Parser

Parser incompatibility with "def woohoo(a, *, b): pass"

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

Nadie ha tomado este issue todavía.

Lenguaje dominante
Rust
Estrellas
117
Forks
38
Merge medio
4 d 7 h
PR fusionados (30 d)
1

Descripción

>>> ast.dump(ast.parse("def woohoo(a, *, b): pass"))
"Module(body=[FunctionDef(name='woohoo', args=arguments(posonlyargs=[], args=[arg(arg='a')], kwonlyargs=[arg(arg='b')], kw_defaults=[None], defaults=[]), body=[Pass()], decorator_list=[])], type_ignores=[])"
>>> ast.dump(rustpython_parse("def woohoo(a, *, b): pass"))
"Module(body=[FunctionDef(name='woohoo', args=arguments(posonlyargs=[], args=[arg(arg='a')], kwonlyargs=[arg(arg='b')], kw_defaults=[], defaults=[]), body=[Pass()], decorator_list=[])], type_ignores=[])"

kw_defaults=[None] vs kw_defaults=[]

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

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.

Línea de trabajo

Reproduce la discrepancia comparando Python's ast.parse con rustpython_parse para "def woohoo(a, *, b): pass". Sigue el punto de entrada del parser detrás de rustpython_parse y verifica que los argumentos FunctionDef resultantes incluyan kw_defaults=[None] para un argumento obligatorio de solo palabra clave, coincidiendo con la salida del AST de Python.

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

Evaluación

Stack tecnológico
python, rust
Área
compilers
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.