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: 5997 Reporter:@gasche Assigned to:@garrigue Status: closed (set by @xavierleroy on 2015-12-11T18:18:38Z) Resolution: fixed Priority: normal Severity: minor Version: 4.01.0+dev Fixed in version: 4.00.2+dev Category: typing Related to:#5989 Child of:#5998
This was a particularly stupid bug:
constructors were compared by id rather than by name, and as a result independent copies of the same definition were all incompatible.
Also fixed the same problem for records.
Original bug ID: 5997
Reporter: @gasche
Assigned to: @garrigue
Status: closed (set by @xavierleroy on 2015-12-11T18:18:38Z)
Resolution: fixed
Priority: normal
Severity: minor
Version: 4.01.0+dev
Fixed in version: 4.00.2+dev
Category: typing
Related to: #5989
Child of: #5998
Bug description
type (_, _) comp =
| Eq : ('a, 'a) comp
| Diff : ('a, 'b) comp
module U = struct type t = T end
module M : sig
type t = T
val comp : (U.t, t) comp
end = struct
include U
let comp = Eq
end
match M.comp with | Diff -> false;;
I checked this example against both the trunk (in particular after the recent "incompatibility check" fixes) and the non-vanishing branch.
The text was updated successfully, but these errors were encountered: