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: 4534 Reporter: turpin Status: closed (set by @garrigue on 2010-04-30T05:18:41Z) Resolution: fixed Priority: normal Severity: feature Version: 3.10.2 Fixed in version: 3.12.0+dev Category: ~DO NOT USE (was: OCaml general) Monitored by: "Julien Signoles"
Bug description
file delme.ml, no .mli:
module type T = sig
val foo : unit
val foo : unit
end
yields the following error message, which is meaningless and totally different from what we would get with modules:
The implementation delme.ml
does not match the interface (inferred signature):
Module type declarations do not match:
module type T = sig val foo : unit val foo : int end
does not match
module type T = sig val foo : unit val foo : int end
Modules do not match:
sig val foo : unit val foo : int end
is not included in
sig val foo : unit val foo : int end
Values do not match: val foo : int is not included in val foo : unit
If I put the module type inside a module, the message beomes:
The implementation delme.ml
does not match the interface (inferred signature):
Modules do not match:
sig module type T = sig val foo : unit val foo : unit end end
is not included in
sig module type T = sig val foo : unit val foo : unit end end
Module type declarations do not match:
module type T = sig val foo : unit val foo : unit end
does not match
module type T = sig val foo : unit val foo : unit end
Illegal permutation of structure fields
The text was updated successfully, but these errors were encountered:
Original bug ID: 4534
Reporter: turpin
Status: closed (set by @garrigue on 2010-04-30T05:18:41Z)
Resolution: fixed
Priority: normal
Severity: feature
Version: 3.10.2
Fixed in version: 3.12.0+dev
Category: ~DO NOT USE (was: OCaml general)
Monitored by: "Julien Signoles"
Bug description
file delme.ml, no .mli:
module type T = sig
val foo : unit
val foo : unit
end
yields the following error message, which is meaningless and totally different from what we would get with modules:
The implementation delme.ml
does not match the interface (inferred signature):
Module type declarations do not match:
module type T = sig val foo : unit val foo : int end
does not match
module type T = sig val foo : unit val foo : int end
Modules do not match:
sig val foo : unit val foo : int end
is not included in
sig val foo : unit val foo : int end
Values do not match: val foo : int is not included in val foo : unit
If I put the module type inside a module, the message beomes:
The implementation delme.ml
does not match the interface (inferred signature):
Modules do not match:
sig module type T = sig val foo : unit val foo : unit end end
is not included in
sig module type T = sig val foo : unit val foo : unit end end
Module type declarations do not match:
module type T = sig val foo : unit val foo : unit end
does not match
module type T = sig val foo : unit val foo : unit end
Illegal permutation of structure fields
The text was updated successfully, but these errors were encountered: