Hover and completion on an applied functor show the functor body's types
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- À l'abandon
- Stack technique
- ocaml
- Domaine
- tooling
Piste de recherche
Start with for_module in analysis/src/process_cmt.ml, which the issue identifies as mishandling Tmod_apply by ignoring the argument. Compare its handling with the applied module's compiler signature and the supplied MakeSet example. Done means hover and completion for IntSet show the applied int types instead of the functor body's O.t types; linked pull request 9084 is already open.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
For a module created by applying a functor, hover and completion show the types of the functor's body instead of the applied signature:
module MakeSet = (O: Ord) => {
type t = array<O.t>
let add = (s: t, x: O.t) => s->Array.concat([x])
}
module IntSet = MakeSet({
type t = int
let compare = (a: int, b) => a - b
})
let s = IntSet.add([], 1)
// ^ hover
// let s2 = IntSet.
// ^ completion
Hover on IntSet.add shows type IntSet.t = array<O.t>, and completion of IntSet. shows add: (t, O.t) => array<O.t>. The compiler's signature is type t = array<int> and let add: (t, int) => array<int>.
for_module in analysis/src/process_cmt.ml handles Tmod_apply by recursing into the functor's own module expression and ignores the argument.
- Langage dominant
- OCaml
- Étoiles
- 7.5k
- Forks
- 484
- Merge moyen
- 21 h 9 min
- PR mergées (30 j)
- 255
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de rescript-lang/rescript
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
rescript-lang/rescript#9135 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
rescript-lang/rescript#9132 ·
Les mainteneurs répondent en général sous 1 jour
-
Printed type declarations drop @tag, @notUndefined and runtime annotationsPeut-être pris @cknitt l’a pris aujourd’hui. Ouverte
Difficulté 4/5 1-2 jours Accessibilité débutants 25/100
rescript-lang/rescript#9134 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
rescript-lang/rescript#9130 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 1-2 jours Accessibilité débutants 55/100
rescript-lang/rescript#9122 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de rescript-lang/rescript
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
lewis6991/gitsigns.nvim#1607 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
all-contributors/cli#587 ·
Les mainteneurs répondent en général sous 1 jour
-
agent-butler-finding chore
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
jordansmall/spindrift#6218 ·
Les mainteneurs répondent en général sous 1 jour
-
Add 'upm' tag on githubOuverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100