You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is actually a very interesting bug, because the cause is not commit 15405,
and it could have disappeared after more changes. In particular, while it appears
using ocamlc, it doesn't if you load the contents of main.ml in the toplevel.
The real source of the bug is that when reading a signature from a cmi, one must
be careful of copying all the types, since otherwise some type ids could be shared
between different types. This was done in almost all cases, since accessing a
component of the module triggers a substitution. However, this was not done when
using the signature directly, for instance when passing the module as argument to
a functor. By chance, commit 15405 caused such a conflict to happen.
This is now fixed in trunk by forcing such a (lazy) substitution.
Could be needed in 4.02 too, but we have no report of such problem there...
Original bug ID: 6593
Reporter: @garrigue
Assigned to: @garrigue
Status: closed (set by @xavierleroy on 2016-12-07T10:34:54Z)
Resolution: fixed
Priority: normal
Severity: minor
Version: 4.03.0+dev / +beta1
Target version: 4.03.0+dev / +beta1
Fixed in version: 4.03.0+dev / +beta1
Category: typing
Bug description
Commit 15405 in trunk breaks the basic-modules test in the testsuite.
There is a type error in a functor application.
The text was updated successfully, but these errors were encountered: