Reputation: 174
I have module files generated from protobuf definitions. There are a lot of files and they will grow with time. This is the structure:
proto_rust/src/lib.rs
proto_rust/src/protos/{lots of auto generated .rs files}
proto_rust/src/protos/mod.rs
Since there are lots of files in proto_rust/src/protos/
, it does not make sense for me to manually put them in mod.rs
. Is there a way to expose all them to lib.rs
? Something like pub mod *
.
Upvotes: 5
Views: 1338
Reputation: 430961
Use dtolnay's automod crate.
automod::dir!("path/to/directory");
This macro expands to one or more mod items, one for each source file in the specified directory.
The path is given relative to the directory containing Cargo.toml.
Upvotes: 4