RustPython / RustPython/Parser
Parser incompatibility with "def woohoo(a, *, b): pass"
Abierto
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
- 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.
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