Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

parser: size-limit errors (list/dict/params/match) never reach the first-error recorder

Aperta
#1,360 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
78/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
c

Direzione di ricerca

Start in src/parser.c by enumerating every size-limit guard with grep -n exceeds, then inspect how the current token’s line, column, and length reach p_record_tok_error. Run --lint --json against over-limit list and dict literals, and add the regression in tests/test_lsp.py or tests/test_lint.sh. Done means the size-limit message is reported as the first error with location data.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

area:lint-tooling kind:silent-wrong

Found by the builder on #1359, which fixed the same shape for the PARSE_MAX_DEPTH guards (#1342).

The size-limit errors in src/parser.c (list literal exceeds N, dict literal exceeds N, found with grep -n exceeds src/parser.c) do two things: they fprintf to stderr and they bump g_parse_errors. They never call the first-error recorder (p_record_tok_error). So --lint --json and the LSP publish whatever recovery error comes next, or a column-less parse error, instead of the real cause.

Done when

  • Every size-limit guard in src/parser.c records through p_record_tok_error, at the current token's line, column and length. Enumerate them with grep; don't rely on this list.
  • --lint --json on an over-limit list literal and on an over-limit dict literal reports the size-limit message as its error.
  • A regression test in tests/test_lsp.py or tests/test_lint.sh, shown red on the unfixed parser and green after.
Lingua principale
C
Stelle
3
Fork
7
Merge medio
4h 5m
PR unite (30g)
116

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di InauguralSystems/EigenScript

Tutte le issue di InauguralSystems/EigenScript

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.