Is there a way to minimize the following feature check?
#[cfg(feature = "eugene")]
pub mod eugene_set_steam_id;
#[cfg(feature = "eugene")]
pub mod eugene_balance;
#[cfg(feature = "eugene")]
pub mod eugene_force_map;
#[cfg(feature = "eugene")]
pub mod eugene_rating;
#[cfg(feature = "eugene")]
pub mod eugene_stat;
#[cfg(feature = "eugene")]
pub mod eugene_steam_id;
#[cfg(feature = "eugene")]
pub mod eugene_top;
To something like:
#[cfg(feature = "eugene")] {
pub mod eugene_set_steam_id;
pub mod eugene_balance;
pub mod eugene_force_map;
pub mod eugene_rating;
pub mod eugene_stat;
pub mod eugene_steam_id;
pub mod eugene_top;
}
This would better convey meaning and be more ergonomic.
The cfg-if crate provides the
cfg-if!
macro that should do what you want:In fact, it even describes itself using your words:
You could create a private module that import all the files, and then let the parent module re-export everything from that private module:
You still need to write that
#[cfg]
line twice though.