Version française
Home     About     Download     Resources     Contact us    
Browse thread
include in rec module definition
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Pietro Abate <Pietro.Abate@a...>
Subject: include in rec module definition
Hi all,
the following piece of code works as expected, but if I specify module
B1 as module rec B1 : sig ... end I get "Unbound type constructor s"

module type A1 = sig
    type t
end

module B1 : sig
    type s = int
    include A1 with type t = s
end = struct
    type s = int
    type t = int
end

The problem is even more evident here:

module type A = sig
    type t
end 

module rec B : sig
    type s = C.t
    include A with type t = s
end = struct
    type s = { c : int }
    type t = { c : int }
end
and C : sig
    type t = { c : int }
end = struct
    type t = { c : int }
end

This was a bug in Ocaml 3.07. Is this supposed to work in Ocaml 3.10 ?
I was unable to find a reference in the bug tracking system.

pietro
-- 
++ Blog: http://blog.rsise.anu.edu.au/?q=pietro
++ 
++ "All great truths begin as blasphemies." -George Bernard Shaw
++ Please avoid sending me Word or PowerPoint attachments.
   See http://www.fsf.org/philosophy/no-word-attachments.html