I started off avoiding mod.rs because it’s the old way and I prefer having the module name as the filename. However, if the module needs a folder for submodules anyway, then there’s a reason to tuck it away as mod.rs, especially if not doing so leaves lots of duplicate names (a.rs, b.rs, c.rs, …, a/, b/, c/).

But then I don’t really like to have much else in mod.rs other than mod declarations and pub use. Maybe a utility fn or a not-unwieldly implementation of struct “Foo”, the module’s namesake.

  • @[email protected]
    link
    fedilink
    41 year ago

    I use mod.rs all over the place because it entirely encapsulates a module in a folder. But since the name of the file is fairly obtuse and doesn’t say what it is, I usually only re-export other better named files that also exist in that folder.

    I’m the case that I want a module with content, and then more further nested content that may use pub(super), I will use a module named file and a separate folder to hold it’s children modules.