RustPython / RustPython/Parser
Parser incompatibility with "def woohoo(a, *, b): pass"
Aberta
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Rust
- Estrelas
- 117
- Forks
- 38
- Merge médio
- 4d 7h
- PRs com merge (30d)
- 1
Descrição
>>> 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=[]
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Reproduza a discrepância comparando Python's ast.parse com rustpython_parse para "def woohoo(a, *, b): pass". Rastreie o ponto de entrada do parser por trás de rustpython_parse e verifique se os argumentos FunctionDef resultantes incluem kw_defaults=[None] para um argumento obrigatório somente por palavra-chave, correspondendo à saída da AST do Python.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python, rust
- Domínio
- compilers
- Tipo de issue
- Bug
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 35/100