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

analyzer: a //go:build ignore generator file turns surplus off for its package

Aperta Adatta ai principianti
#253 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à
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
83/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
go

Direzione di ricerca

Inizia da internal/surplus.go:225 e confronta il controllo dell’analizzatore sui file ignorati con la distinzione già usata da shrink. Riproduci il comportamento con un file gen.go contrassegnato con //go:build ignore e package main, quindi esegui i test pertinenti dell’analizzatore o il driver autonomo. Il lavoro è concluso quando l’analizzatore continua a segnalare la dichiarazione condivisa non necessaria con quel file aggiuntivo, anche tramite go vet -vettool.

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

Descrizione

bug P2

len(pass.IgnoredFiles) > 0 (internal/surplus.go:225) switches the rule off for any build-excluded file. That includes the common gen.go written as //go:build ignore plus package main. unseen() already skips files of another package and reads excluded .go files of the same package by name, so this check only needs to cover files that are not Go. shrink already makes that distinction, so the analyzer and shrink disagree here.

Reproduction

A package with one unneeded //declscope:shared func helper():

Package Result
Without an extra file //declscope:shared on helper: no use from another namespace is visible to declscope, exit 3
With gen.go (//go:build ignore, package main) No output, exit 0. The same under the standalone driver and under go vet -vettool

Suggested fix

len(pass.OtherFiles) > 0 || slices.ContainsFunc(pass.IgnoredFiles, func(f string) bool { return !strings.HasSuffix(f, ".go") })
Lingua principale
Go
Stelle
42
Fork
1
Merge medio
1h 18m
PR unite (30g)
94

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

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 mpyw/declscope

Tutte le issue di mpyw/declscope

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.