module type S = sig
val foo : unit -> ('a -> 'a -> bool) -> unit
end
module F (M : S) = struct
let z () = M.foo () compare
end
Trying to jump to foo gives "Not in environment 'M.foo'". Fixing the type of the function foo takes to return int instead of bool makes jumping to definition work properly.
Tested on 945e5e1