Open
Description
module Foo = struct
type t =
{ foo : int
; bar : int
}
let foo = "hello"
end
let _ =
let foo = 10 in
let bar = 10 in
({ Foo.foo; bar } : Foo.t)
;;
In this program, when a user jumps to definition on the Foo.foo
on the last line, Merlin will erroneously take them to the definition of Foo.foo
. Unintuitively, that foo
is actually referring to the locally defined foo
; the Foo.
prefix simply does label disambiguation.