Python: trailing comma in a PEP 695 type parameter list causes a parse error
Mantenedores costumam responder em até 1 dia
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 88/100
Direção de pesquisa
Comece em tsg-python/tsp/grammar.js, na regra type_parameters, e depois compare o tratamento de vírgulas com a gramática do CPython vinculada. O trabalho estará concluído quando o extrator de Python aceitar vírgulas finais nas listas de parâmetros de tipo do PEP 695 para as instruções class, def e type, incluindo o exemplo formatado mostrado.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Description of the issue
The Python extractor (CodeQL CLI 2.27.1) fails to parse a trailing comma after the last type parameter, and the file is dropped from analysis. This applies to class, def and type statements. ruff format and Black add this comma whenever they split a long type parameter list, so formatted code runs into it.
class A[
T: int,
U: str, # Syntax Error here
]:
pass
type_parameters in tsg-python/tsp/grammar.js has no optional trailing comma, while CPython's grammar does (type_param_seq: ','.type_param+ [',']). Adding it fixes the error:
type_parameters: $ => seq(
'[',
commaSep1(field('type_parameter', $._type_parameter)),
+ optional(','),
']'
),
- Linguagem predominante
- CodeQL
- Estrelas
- 10.1k
- Forks
- 2.1k
- Merge médio
- 2d 7h
- PRs com merge (30d)
- 139
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
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.
Mais de github/codeql
-
false-positive javascript
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
github/codeql#22632 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
C#: cs/simplifiable-boolean-expression false positive on Nullable<bool> compared with a literalTalvez já em andamento @michaelnebel assumiu há 6 dias. AbertaC#
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
github/codeql#22556 · 2 comentários · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Add AlertSuppression.ql for Rust (inline // codeql[...] suppression)Talvez já em andamento @cnuss assumiu há 185 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
github/codeql#21637 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
false-positive
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
github/codeql#21076 · 3 comentários · 3 reações ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
github/codeql#22742 · 5 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de github/codeql
Issues semelhantes
-
vxc prints a debug line '[flat-codegen] emitted module via the flat path' on every compileTalvez já em andamento @YodHeVauHe assumiu hoje. Abertadevex good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
kmmbvnr/rank#196 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
SciML/ModelingToolkit.jl#5255 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
NVIDIA/cuda-quantum#5539 ·
Mantenedores costumam responder em até 1 dia
-
triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
NVIDIA/cuda-python#3015 · 2 comentários ·
Mantenedores costumam responder em até 1 dia