View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0000320 | mercury | Bug | public | 2014-02-19 16:12 | 2014-02-21 17:09 | ||||||||
Reporter | pbone | ||||||||||||
Assigned To | juliensf | ||||||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||||||
Status | feedback | Resolution | open | ||||||||||
Product Version | |||||||||||||
Target Version | Fixed in Version | ||||||||||||
Summary | 0000320: instantiation states and "unused module import" warnings do not interact properly. | ||||||||||||
Description | A Mercury module containing a module import for some other Mercury module and an instantiation state deceleration for a type in that module but nothing else to do with that module generated an unused module import warning. | ||||||||||||
Steps To Reproduce | Compile the attached module with "mmc -c", it should be warnings-clean but isn't. mmc outputs: paul@oxygen> mmc -c unused_import_inst_bug.m unused_import_inst_bug.m:001: In module `unused_import_inst_bug': unused_import_inst_bug.m:001: warning: module `maybe' is imported in the unused_import_inst_bug.m:001: interface, but is not used in the interface. | ||||||||||||
Tags | No tags attached. | ||||||||||||
Attached Files |
|
Notes | |
juliensf (administrator) 2014-02-21 17:08 |
The underlying problem here is most likely that insts don't have type information associated with them, so the unused module checker cannot see that the inst maybe_yes refers to the functor yes/1. (This is a much more general problem, see 0000089 for example -- it's also a language design issue, since in order to resolve properly we would need to add some mechanism to add type information to insts.) |