Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001630OCamlOCaml generalpublic2003-04-11 19:382013-11-05 15:46
Reporteradministrator 
Assigned To 
PrioritynormalSeverityfeatureReproducibilityalways
StatusacknowledgedResolutionopen 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0001630: Signature mismatch or Unbound module type?
DescriptionFull_Name: John Gerard Malecki
Version: 3.06
OS: any
Submission from: 192-149-105-50.artisan.com (192.149.105.50)


I made an error and forgot to install a .cmi file along with my .cma library.
It was an easy error to make as this .cmi file did not have an associated
implementation file. When I compile using the library I get the message

  :; ocamlc -i -c test.ml
  File "test.ml", line 6, characters 32-45:
  Signature mismatch:
  Modules do not match:
    sig type t = float * float * int end
  is not included in
    Pure.T

Is it possible to improve this message? There really isn't a signature
mismatch.
Their simply isn't a definition of Pure.T.

I know this sounds trivial and maybe not really a bug. In fact it might even be
considered a feature but I haven't figured how to take advantage of it yet.

My big concern is that the library developer cannot tell if their installation
is correct without testing all of the interfaces to the library. I prefer ocaml
as it has static interface checking. Maybe there should be a tool that
examines a linkage and checks that all interfaces are defined? This way after
installation the library developer can check that all interface files are also
installed. What do you think?

Send me email if you want me to supply a test case or describe in better
detail.

TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0010591)
lpw25 (developer)
2013-11-05 15:46

The error message for this case has since been improved, so that you would receive something like:

  File "test.ml", line 2, characters 21-44:
  Error: Signature mismatch:
         Modules do not match: sig type t = int end is not included in Other.T
         Unbound module type Pure.T

which does indicate that the module type cannot be found.

- Issue History
Date Modified Username Field Change
2005-11-18 10:13 administrator New Issue
2013-11-05 15:46 lpw25 Note Added: 0010591


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker