this post was submitted on 13 Aug 2023
22 points (92.3% liked)

Rust

6005 readers
6 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 1 year ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] dr_itor@programming.dev 5 points 1 year ago* (last edited 1 year ago)

I use mod.rs because I like having a module entirely contained in its own directory, rather than having part of it in the parent one. Obvious exception is when the module does not have submodules.

It also follows the same structure of crates, where mod.rs maps to lib.rs. It has the (minor) advantage that I can trivially extract a module into its own crate by copying the module's directory and renaming mod.rs to lib.rs, but more than anything I like the homogeneity.

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.

Same.

My mod.rs only contains a sequence of pub use self::...;.