1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
(* TEST
expect;
*)
(** The aim of this file is to keep track of programs that are "far" from being well-typed *)
(** Arity mismatch between structure and signature *)
module M : sig
type (_, _) t
val f : (_, _) t -> unit
end = struct
type _ t
let f _ = ()
end
[%%expect{|
Lines 9-12, characters 6-3:
9 | ......struct
10 | type _ t
11 | let f _ = ()
12 | end
Error: Signature mismatch:
Modules do not match:
sig type _ t val f : 'a -> unit end
is not included in
sig type (_, _) t val f : ('a, 'b) t -> unit end
Type declarations do not match:
type _ t
is not included in
type (_, _) t
They have different arities.
|}]
|