Advertisement
Guest User

Their kinds differ

a guest
Nov 24th, 2014
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
OCaml 0.75 KB | None | 0 0
  1. module type LOG = sig
  2.   type level =
  3.     | Debug
  4.     | Info
  5.     | Notice
  6.     | Warning
  7.     | Error
  8.     | Fatal
  9. end
  10.  
  11. module type S = sig
  12.   type log_level =
  13.     | Debug
  14.     | Info
  15.     | Notice
  16.     | Warning
  17.     | Error
  18.     | Fatal
  19. end
  20.  
  21. module Make (Log : LOG) = struct
  22.   type log_level = Log.level
  23. end
  24.  
  25. module Log_lwt = struct
  26.   type level = Lwt_log.level
  27. end
  28.  
  29. module M = Make (Log_lwt)
  30.  
  31. (*
  32.  
  33. Error: Signature mismatch:
  34.        Modules do not match:
  35.          sig type level = Lwt_log.level end
  36.        is not included in
  37.          LOG
  38.        Type declarations do not match:
  39.          type level = Lwt_log.level
  40.        is not included in
  41.          type level = Debug | Info | Notice | Warning | Error | Fatal
  42.        Their kinds differ.
  43.  
  44. *)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement