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: 4570 Reporter:@yallop Status: closed (set by @xavierleroy on 2015-12-11T18:21:16Z) Resolution: fixed Priority: normal Severity: minor Version: 3.10.2 Target version: 4.01.0+dev Category: ~DO NOT USE (was: OCaml general) Tags: recmod
Bug description
The following (wrong) code
module rec M : sig type 'a s = 'a N.t end =
struct type 'a s = 'a N.t end
and N : sig type 'a t end =
struct type t end
gives rise to the following confusing error message:
struct type 'a s = 'a N.t end
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Signature mismatch:
Modules do not match:
sig type 'a s = 'a N.t end
is not included in
sig type 'a s = 'a N.t end
Type declarations do not match:
type 'a s = 'a N.t
is not included in
type 'a s = 'a N.t
It'd be less surprising if the mismatch between the number of type parameters in the structure and signature declarations of N.t were reported instead.
The text was updated successfully, but these errors were encountered:
Looks like this has been fixed at some point in the past:
Error: Signature mismatch:
Modules do not match:
sig type t = N.t end
is not included in
sig type 'a t end
Type declarations do not match:
type t = N.t
is not included in
type 'a t
They have different arities.
Original bug ID: 4570
Reporter: @yallop
Status: closed (set by @xavierleroy on 2015-12-11T18:21:16Z)
Resolution: fixed
Priority: normal
Severity: minor
Version: 3.10.2
Target version: 4.01.0+dev
Category: ~DO NOT USE (was: OCaml general)
Tags: recmod
Bug description
The following (wrong) code
module rec M : sig type 'a s = 'a N.t end =
struct type 'a s = 'a N.t end
and N : sig type 'a t end =
struct type t end
gives rise to the following confusing error message:
Signature mismatch:
Modules do not match:
sig type 'a s = 'a N.t end
is not included in
sig type 'a s = 'a N.t end
Type declarations do not match:
type 'a s = 'a N.t
is not included in
type 'a s = 'a N.t
It'd be less surprising if the mismatch between the number of type parameters in the structure and signature declarations of N.t were reported instead.
The text was updated successfully, but these errors were encountered: