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

Macros inferring in new cljs (CLJS-1507)

Aperta
#39 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
clojure
Ambito
devtools

Direzione di ricerca

Inizia da src/implant/dirac/implant/analyzer.cljs, in corrispondenza della chiamata a cljs.analyzer/analyze, e traccia il modo in cui le forme di namespace identificano le macro. Confronta le metadati delle macro inferiti con l’approccio basato sulla presenza a runtime descritto nell’issue, quindi verifica che i suggerimenti per il completamento del codice non riportino più tipi errati. L’issue non indica un file di test, quindi individua i test rilevanti dell’analyzer o della completion prima di apportare la modifica.

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

Descrizione

enhancement

Currently we use cljs.analyzer/analyze to parse ns forms. We trust it to tell us which symbols/namespace references are macros. But new macros inference CLJS-1507 can make this unreliable when someone relies on inferring.

I think a way how to work around this is to treat everything as a function and check for runtime presence. If it is not present at runtime, we treat it as a macro (but this can have performance implications because runtime presence checks must go over wire).

Other idea is just to leave it as is and our code completion hints will report wrong types.

Lingua principale
Clojure
Stelle
775
Fork
29
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

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 binaryage/dirac

Tutte le issue di binaryage/dirac

Issue simili

Altre issue su Clojure

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.