(* TEST expect; *) class virtual t = object method virtual x: float end class x = object(self: ) inherit t end [%%expect {| class virtual t : object method virtual x : float end Line 4, characters 8-17: 4 | inherit t ^^^^^^^^^ Error: The method "x" has type "int" but is expected to have type "float" Type "int" is not compatible with type "float" |}] let x = let module M = struct module type t = sig end end in (module struct end: M.t) [%%expect {| Line 3, characters 2-26: 3 | (module struct end: M.t) ^^^^^^^^^^^^^^^^^^^^^^^^ Error: This expression has type "(module M.t)" but an expression was expected of type "'a" The module type "M.t" would escape its scope |}]