Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

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

Offen
#9,072 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

@cknitt arbeitet bereits daran.

Seit 27.10.2026.

  • #9084 von @cknitt — offen

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Veraltet
Tech-Stack
ocaml
Bereich
tooling

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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.

Vorherrschende Sprache
OCaml
Sterne
7.5k
Forks
484
Ø Merge
20 Std. 19 Min.
Gemergte PRs (30 T.)
242

Entwicklungsumgebung

In Codespaces öffnen

Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus rescript-lang/rescript

Alle Issues in rescript-lang/rescript

Ähnliche Issues

Weitere Issues zu DevTools

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.