Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0005870OCamlOCaml tools (ocaml{lex,yacc,dep,browser,debug})public2013-01-02 15:142013-01-02 17:08
Reporterjm 
Assigned Tofrisch 
PriorityhighSeveritymajorReproducibilityalways
StatusresolvedResolutionsuspended 
PlatformOSOS Version
Product Version4.00.1 
Target VersionFixed in Version 
Summary0005870: ocamldep does not take included module types into account.
Description% head -n -0 *.ml
==> a.ml <==

==> t.ml <==
module type M
 = sig
        module A
         : sig
                type t
         end
 end
module type MM
 = sig
        include M
        val a : A.t
 end
% ocamlc -i t.ml
module type M = sig module A : sig type t end end
module type MM = sig module A : sig type t end val a : A.t end
% ocamldep t.ml
t.cmo : a.cmo
t.cmx : a.cmx

This dependency on a.cm[ox] should not be.
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0008678)
hongboz (developer)
2013-01-02 16:42

I also hope that ocamldep can go a bit into the typing level to guarantee its correctness
(0008679)
jm (reporter)
2013-01-02 16:52

see also: http://caml.inria.fr/mantis/view.php?id=5624 [^]
(0008680)
frisch (developer)
2013-01-02 17:08

This is not really related to 0005624, which gives a case where ocamldep failed to report real dependencies. It is rather similar to 0004081, and this is a well-known class of limitations of ocamldep.

ocamldep is a very syntactic tool. One could indeed argue that it could do some kind of downgraded type-checking to address simple cases like the one provided here, but it is not clear where to stop and it would be difficult to provide a clear specification of what is done.

- Issue History
Date Modified Username Field Change
2013-01-02 15:14 jm New Issue
2013-01-02 16:42 hongboz Note Added: 0008678
2013-01-02 16:52 jm Note Added: 0008679
2013-01-02 17:08 frisch Note Added: 0008680
2013-01-02 17:08 frisch Status new => resolved
2013-01-02 17:08 frisch Resolution open => suspended
2013-01-02 17:08 frisch Assigned To => frisch
2013-08-19 15:58 doligez Category OCaml tools (ocaml{lex,yacc,dep,browser}) => OCaml tools (ocaml{lex,yacc,dep,browser,debug})


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker