Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Hover and completion on an applied functor show the functor body's types

Ouverte
#9,072 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@cknitt y travaille déjà.

Depuis le 27/10/2026.

  • #9084 par @cknitt — ouverte

É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

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de rescript-lang/rescript

Toutes les issues de rescript-lang/rescript

Issues similaires

Plus d'issues DevTools

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.