ocaml/merlin

truncated error message with Emacs+Merlin on OCaml 5.04 and v5.7.1-504

Open

#2.080 geöffnet am 18. Juni 2026

Auf GitHub ansehen
 (7 Kommentare) (0 Reaktionen) (1 zugewiesene Person)OCaml (252 Forks)github user discovery
good first issue

Repository-Metriken

Stars
 (1.690 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 20T 1h) (7 gemergte PRs in 30 T)

Beschreibung

Repro case:

module type A = sig type a end
module type B = sig type b end

module A : A = struct type a end
module B : B = struct type b end

module F (_ : A) (_ : B) = struct end

module Test = F(B)(A)

Merlin shows the following error message:

2. Modules do not match: A : sig type a = A.a end is not included in B

(The exact same thing is in the *Messages* and *merlin-errors* buffer.)

This is only the last line of the full error message shown by the compiler:

Error: This application of the functor F is ill-typed.
       These arguments:
         B A
       do not match these parameters:
         (Arg : A) (Arg : B) -> ...
       1. Modules do not match:
            B : sig type b = B.b end
          is not included in
            A
          The type a is required but not provided
          File "test.ml", line 1, characters 20-26: Expected declaration
       2. Modules do not match: A : sig type a = A.a end is not included in B

Contributor Guide