[m-rev.] for review: make --warn-unused-imports more effective

Julien Fischer jfischer at opturion.com
Fri Nov 28 16:28:04 AEDT 2025


On Fri, 28 Nov 2025 at 16:19, Zoltan Somogyi <zoltan.somogyi at runbox.com>
wrote:

>
>
> On Fri, 28 Nov 2025 14:18:44 +1100, Julien Fischer <jfischer at opturion.com>
> wrote:
> > Actually, there is one problem here.  The compiler is now ignoring the
> > --no-warn-interface-imports
> > option and always printing a warning.
>
> Ok. The issue here is that we have TWO options that both seem to want
> to control whether this warnings is enabled:
>
> optdb(oc_warn_dodgy_mod, warn_unused_interface_imports, bool(yes),
>     % Not documented because its relationship with --warn-unused-imports
>     % is too complicated for users (and maybe even developers ...).
>     priv_help("warn-unused-interface-imports", [
>         w("Warn about modules that are imported in the interface"),
>         w("but not used there.")])).
> optdb(oc_warn_dodgy_mod, warn_interface_imports,       bool(yes),
>     help("warn-interface-imports", [
>         w("Do not warn about modules imported in the interface,"),
>         w("but which are not used in the interface.")])).
>
> The code that my diff modified
>
> - used warn_interface_imports to control whether we ran the code
>   that looked for unused interface imports, but then
>
> - used warn_unused_interface_imports, the other option, as the
>   option that controlled whether any generated warnings would
>   actually be printed.
>
> I saw the difference as a silent bug, and "fixed" it by making
> the first step use warn_unused_interface_imports as well.
>
> I am not sure whether this difference was ever intentional, and
> I don't plan to find out, because it does not matter. The duplication
> NOW is a problem, as you found out. These two options should
> clearly be merged, and to minimize disruption, it should be reachable
> by both its old names. The only question is: which is the name
> we should put first, i.e. which one's use should we encourage?
>
> I vote for --warn-unused-interface-imports, both because it better
> describes what it does, and because it has a more obvious connection
> to its bigger brother --warn-unused-imports. Any other votes?
>

I also vote for --warn-unused-interface-imports.

Julien.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20251128/53d98366/attachment.html>


More information about the reviews mailing list