-
Notifications
You must be signed in to change notification settings - Fork 13
Description
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
-
This needs to be documented (https://github.com/LexiFi/dead_code_analyzer/issues/42) ↩