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
Original bug ID: 3738 Reporter: administrator Status: closed Resolution: fixed Priority: normal Severity: minor Category: ~DO NOT USE (was: OCaml general)
The following type definition for t does not type check.
module M = struct type t end
module F(X:sig type t end)(Y:sig type t = X.t end) = struct type t = int end
type t = F(M)(M).t
Thank you for this interesting bug report. It will be fixed shortly
in the 3.08 branch. In case you are wondering, it was due to a lack
of strengthening of the signature of M when type-checking the second
application (that of F(M) to M).
Original bug ID: 3738
Reporter: administrator
Status: closed
Resolution: fixed
Priority: normal
Severity: minor
Category: ~DO NOT USE (was: OCaml general)
Bug description
Full_Name: NAKATA keiko
Version: 3.08.2
OS: freebsd
Submission from: orion.kurims.kyoto-u.ac.jp (130.54.16.5)
The following type definition for t does not type check.
module M = struct type t end
module F(X:sig type t end)(Y:sig type t = X.t end) = struct type t = int end
type t = F(M)(M).t
Observe that when I change the definition of M as
module M = struct type t = int end
it becomes well-typed.
The text was updated successfully, but these errors were encountered: