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: 6293 Reporter: elnatan Assigned to:@gasche Status: closed (set by @xavierleroy on 2015-12-11T18:27:38Z) Resolution: fixed Priority: normal Severity: minor Version: 4.01.0 Fixed in version: 4.02.0+dev Category: typing
Bug description
Trying to compile the code below causes an assertion failure in typecore.ml, in both 4.00 and 4.01.
module type S = sig type t = { a : int; b : int; } end
let f (module M : S with type t = int) = { M.a = 0 };;
The text was updated successfully, but these errors were encountered:
Fails in 4.00 and 4.01 branches, but trunk (as of revision 14420) raises a proper error:
File "../pr6293.ml", line 2, characters 6-38:
Error: In this `with' constraint, the new definition of t
does not match its original definition in the constrained signature:
Type declarations do not match:
type t
is not included in
type t = { a : int; b : int; }
File "../pr6293.ml", line 1, characters 25-50: Expected declaration
File "../pr6293.ml", line 2, characters 6-38: Actual declaration
Their kinds differ.
Original bug ID: 6293
Reporter: elnatan
Assigned to: @gasche
Status: closed (set by @xavierleroy on 2015-12-11T18:27:38Z)
Resolution: fixed
Priority: normal
Severity: minor
Version: 4.01.0
Fixed in version: 4.02.0+dev
Category: typing
Bug description
Trying to compile the code below causes an assertion failure in typecore.ml, in both 4.00 and 4.01.
module type S = sig type t = { a : int; b : int; } end
let f (module M : S with type t = int) = { M.a = 0 };;
The text was updated successfully, but these errors were encountered: