Skip to content

Locate failing in presence of generalized open #1214

@lpw25

Description

@lpw25

Given foo.ml:

module Make (X : sig end) = struct
  module N = struct end
end

and bar.ml:

module M = struct end
open Foo.Make (M)
module O = N

Calling merlin-locate on the use of N in bar.ml will result in the error message:

apply: "Needed cmti file of module 'N' to locate 'N' but it is not present"

If you give a name to the opened module:

module M = struct end
module P = Foo.Make (M)
open P
module O = N

then it works as expected: jumping to the definition of N in foo.ml.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions