From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id SAA01721; Thu, 18 Sep 2003 18:11:15 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id SAA12835 for ; Thu, 18 Sep 2003 18:11:14 +0200 (MET DST) Received: from sark.cc.gatech.edu (sark.cc.gatech.edu [130.207.7.23]) by nez-perce.inria.fr (8.11.1/8.11.1) with ESMTP id h8IGBD524337 for ; Thu, 18 Sep 2003 18:11:14 +0200 (MET DST) Received: from gaia.cc.gatech.edu (gaia.cc.gatech.edu [130.207.3.8]) by sark.cc.gatech.edu (8.12.9/8.12.8) with ESMTP id h8IGBCDf023902 for ; Thu, 18 Sep 2003 12:11:12 -0400 (EDT) Received: (from fernando@localhost) by gaia.cc.gatech.edu (8.12.9/8.12.8) id h8IGBCsH015399; Thu, 18 Sep 2003 12:11:12 -0400 (EDT) Date: Thu, 18 Sep 2003 12:11:12 -0400 From: Fernando Alegre To: caml-list@pauillac.inria.fr Subject: [Caml-list] possible typechecker bug Message-ID: <20030918161112.GA14205@gaia.cc.gatech.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.1i X-Loop: caml-list@inria.fr X-Spam: no; 0.00; alegre:01 gatech:01 bug:01 bug:01 struct:01 struct:01 afloat:99 afloat:99 3.06:01 3.07:01 ocamlc:01 mismatch:01 alegre:01 gatech:01 bool:01 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk Hi, We are puzzled by what we think is possiby a typechecker bug, as the only difference between Tbool and Tfloat below is the specific type (either bool or float). Is there any other explanation? I would like to get some confirmation that this is indeed a bug before submitting it as a bug report. Here is the content of test.ml: module Test (A: sig type t end) (B: sig type x = {f:A.t} end) = struct end module Abool = struct type t = bool end module Bbool = struct type x = {f:bool} end module Afloat = struct type t = float end module Bfloat = struct type x = {f:float} end module Tbool = Test(Abool) (Bbool) module Tfloat = Test(Afloat)(Bfloat) And here is the output (both in Ocaml-3.06 and 3.07beta): $ ocamlc -c test.ml File "test.ml", line 11, characters 29-35: Signature mismatch: Modules do not match: sig type x = Bfloat.x = { f : float; } end is not included in sig type x = { f : Afloat.t; } end Type declarations do not match: type x = Bfloat.x = { f : float; } is not included in type x = { f : Afloat.t; } -- -Fernando Alegre (fernando@cc.gatech.edu) ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners