Modules
24 articles
How does the module system work
The Rust module system uses mod, pub, and use to organize code into namespaces and control visibility.
How Does the Module System Work in Rust?
Rust's module system organizes code into hierarchical namespaces using `mod` and controls visibility with `pub` to manage scope and privacy.
How to Create an Internal (Private) Module in Rust
Create a private Rust module by defining it without the `pub` keyword to restrict access to its internal functions.
How to Create Modules in Rust with mod
Create Rust modules using the `mod` keyword and separate files to organize code and control visibility with `pub`.
How to Create Public APIs with Proper Encapsulation in Rust
Expose public APIs in Rust by using the pub keyword on modules and items while keeping internal logic private.
How to organize a large Rust project
Organize large Rust projects by using Cargo workspaces to manage multiple crates and dependencies efficiently.
How to Organize a Large Rust Project into Modules
Split large Rust projects into modules using `pub mod` in `src/lib.rs` to organize code and control visibility.
How to Re-Export Items with pub use in Rust
Re-export items in Rust by adding a `pub use` statement in your library root to expose internal modules at the crate level.
How to re-export with pub use
Use pub use in lib.rs to re-export items from internal modules to the crate root for easier access.
How to Split a Crate into Multiple Files
Split a Rust crate by creating a lib.rs root and declaring separate module files to organize code logically.
How to split modules across files
Split Rust modules across files by creating a new file and declaring it with the `mod` keyword in the parent file.
How to structure a project with multiple files
Structure a Rust project by creating a src directory with main.rs as the entry point and using the mod keyword to declare additional module files.
How to Structure a Rust Project: Best Practices
Structure a Rust project using Cargo to manage packages, crates, and modules for scalable code organization.
How to Use Glob Imports (use module::*) in Rust (and Why to Avoid Them)
Use explicit imports like `use module::item;` instead of `use module::*;` to prevent naming conflicts and improve code clarity.
How to use lib.rs vs main.rs
Use main.rs for executable programs and lib.rs for reusable library code in Rust projects.
How to Use Nested Paths (use std::{io, fs}) in Rust
Use curly braces in a use statement to import multiple items like io and fs from the std crate at once.
How to use pub and visibility
Use the `pub` keyword to make Rust modules, structs, and functions accessible from outside their current scope.
How to Use pub to Control Visibility in Rust
Use the `pub` keyword in Rust to make functions, structs, or fields accessible outside their defining module.
How to Use the pub(crate) and pub(super) Visibility Modifiers
Use pub(crate) for crate-wide visibility and pub(super) for parent-module access in Rust.
How to Use the use Statement to Import Items in Rust
The `use` statement brings items from external modules or the standard library into your current scope, allowing you to reference them without their full path.
What Is a Crate Root (lib.rs vs main.rs)?
A crate root is the entry point file that defines the scope of a Rust crate, determining whether it compiles as a binary (using `main.rs`) or a library (using `lib.rs`).
What is the difference between mod and use
mod defines a code namespace, while use imports items from that namespace into the current scope.
What Is the Difference Between mod.rs and Named Files in Rust 2018+?
Rust 2018+ allows modules to be defined by a single named file (e.g., utils.rs) without requiring a mod.rs file inside a directory.
What Is the Difference Between use, mod, and extern crate?
use imports items, mod defines modules, and extern crate is deprecated for external dependencies in modern Rust.