Re-exporting and Organizing Large Projects

Updated

October 31, 2026

Re-exporting and Organizing Large Projects

Re-exporting using pub use decouples internal module hierarchies from your public API:

mod internal {
    pub struct Engine;
    impl Engine {
        pub fn start(&self) { println!("Engine running"); }
    }
}

// Public API
pub use internal::Engine;

fn main() {
    let e = Engine;
    e.start();
}