rescript-lang / rescript-lang/rescript
Improve error message when adding type to generic application
Nessuno ha ancora preso questa issue.
- Lingua principale
- OCaml
- Stelle
- 7.5k
- Fork
- 485
- Merge medio
- 1g 2h
- PR unite (30g)
- 55
Descrizione
Consider
module WebAPI = {
module DOMAPI = {
type element
}
}
let elementRefCorrect : React.ref<Nullable.t<WebAPI.DOMAPI.element>> = React.useRef(Nullable.null)
let elementRef = React.useRef<WebAPI.DOMAPI.element>(Nullable.null)
In F#, you can specify the React.useRef<WebAPI.DOMAPI.element> syntax.
I can live with the fact that ReScript doesn't have the same syntax as F#.
But the error message is very confusing:
Type Errors
[E] Line 8, column 30:
The value element can't be found in WebAPI.DOMAPI
The type does exists, whatever I'm going for syntax-wise is the issue here.
Could we improve this?
Thoughts @zth?
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia con il riproduttore ReScript Try nell’issue e segui la segnalazione degli errori di tipo del compilatore per l’applicazione generica di React.useRef. Il lavoro è completato quando questa sintassi non valida produce una diagnostica che spiega il problema di sintassi invece di dire erroneamente che non è possibile trovare WebAPI.DOMAPI.element.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- ocaml
- Ambito
- compilers
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100