Skip to content

Implicit empty .mli files for executable modules #3745

@craigfe

Description

@craigfe

When creating an executable, it's a fairly common pattern to create a corresponding .mli file, to ensure that any unused values in the implementation are caught by the compiler. (See this example inside Dune itself).

It seems worthwhile for Dune to assume the existence of such files by default, avoiding bugs & dead code for users that don't know about the empty .mli trick and saving more experienced users time and effort in setting them up. I suspect that is almost always a win, but users could get around it by disabling warning 32 or perhaps using an opt-out mechanism provided by Dune.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementproposalRFC's that are awaiting discussion to be accepted or rejected

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions