Skip to content

Dissociate optional arguments in preprocessed files #47

@fantazio

Description

@fantazio

The expected reports for optional arguments in examples/using_dune/preprocessed_lib/preprocessed.ml and its interface are "unified", as if internal and external uses all counted as internal uses.

Optional arguments always/never used reports have peculiar semantics 1:

  • If a function is only used internally, or there is no interface (.mli), then the optional arguments reports only contain references to the implementation (.ml).
  • If it is only used externally, then they only contain references to the .mli.
  • If it is used both internally and externally, then they may contain references to both, depending on the internal and external uses of the optional arguments.

Optional arguments in the Preprocessed module should be reported according to the described semantics, rather than unified to the implementation's location. E.g. Preprocessed.f's ?always is only reported for preprocessed.ml but should be reported twice : once for preprocessed.ml (it is always used internally) and once for preprocessed.mli (it is always used externally).

Footnotes

  1. This needs to be documented (https://github.com/LexiFi/dead_code_analyzer/issues/42)

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions