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

eigenlsp: scopes past MAX_FN_SCOPES (256) are silently dropped; rename then edits shadowed locals

Aperta
#1,341 0 commenti 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
68/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
c

Direzione di ricerca

Start in build_scopes in src/eigenlsp.c and trace how the scope count is returned and consumed by rename resolution. Add a regression test with more than 256 scopes, then run the rename path and execute the renamed program. Done means scope handling no longer silently loses late scopes and a late same-named parameter remains untouched.

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

Descrizione

area:lint-tooling found-by:code-review kind:silent-wrong

Found by /code-review on PR #1330. The limit itself predates that PR, but #1330 makes it bite sooner.

build_scopes in src/eigenlsp.c stops recording scopes after MAX_FN_SCOPES (256), with no warning; the returned count is simply lower. #1330 gives each lambda a scope too, so lambdas now use slots from the same budget as define and for.

In a file with ~200 defines and ~60 early lambdas, the later defines get no scope. Renaming a global x then also rewrites a later define g(x): signature and body, and a later local x resolves to the global. That is a silent wrong edit.

Done when

  • The scope table grows as needed (no fixed cap), or rename refuses with an error when the limit is reached rather than guessing.
  • A test: a file with more than 256 scopes, where a rename of a global leaves a late define's same-named parameter untouched (checked by running the renamed program).
Lingua principale
C
Stelle
3
Fork
7
Merge medio
3h 56m
PR unite (30g)
102

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.