Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0007860OCamltypingpublic2018-10-07 13:332018-10-07 13:44
Assigned To 
PlatformOSOS Version
Product Version4.07.1 
Target VersionFixed in Version 
Summary0007860: More precise error message when large functions and/or modules types cannot be unified
DescriptionIt would be nice if the compiler would be able to "zoom" in the diff between two complex structures (modules/functions) which cannot unify.

For instance, I've just got the following error on 4.07.1:

File "src/irmin-mirage/", line 1:
Error: The implementation src/irmin-mirage/
       does not match the interface src/irmin-mirage/.irmin_mirage.objs/irmin_mirage.cmi:
       At position module Git : sig module KV_RW(G)(C) : <here> end
       Values do not match:
         val connect :
           ?depth:int ->
           ?branch:value ->
           ?root:key ->
           ?conduit:Conduit_mirage.t ->
           ?resolver:Resolver_lwt.t ->
           ?headers:Cohttp.Header.t -> author:value -> git -> value -> t io
       is not included in
         val connect :
           ?depth:int ->
           ?branch:value ->
           ?root:key ->
           ?conduit:Conduit_mirage.t ->
           ?resolver:Resolver_lwt.t ->
           ?headers:Cohttp.Header.t -> author:value -> G.t -> value -> t io
       File "src/irmin-mirage/irmin_mirage.mli", line 106, characters 4-230:
         Expected declaration
       File "src/irmin-mirage/", line 219, characters 4-230:
         Actual declaration

The actual issue is that `G.t` and `git` cannot unify and it would be nice if the compiler could tell me that directly (and maybe point to the definition of these types).
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2018-10-07 13:33 samoht New Issue

Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker