Modules and Visibility
Modules
Section titled “Modules”- One file = one module.
- Declaration:
mod net;(optionalpub). - Import:
use net.http.Client;(optionalpub).
Modules are resolved by file path. A dotted path refers to nested modules.
Example:
pub type Client { ... }
// file: app.bdmod net;use net.http.Client;Visibility
Section titled “Visibility”- Private by default.
pubexposes a symbol externally.
Items without pub are visible only inside their defining module.
Example:
pub type User { string name }pub mod net;pub use net.http.Client;Example (private item):
type Secret { i32 value }// Secret is not visible outside this module