let us start creating a rust file with the module name as a new module.
mod newmodule;
fn method() {
println!("called `method()`");
}
fn main() {
newmodule::method();
method();
newmodule::indirect_access();
}
newmodule file is created as shown below:
pub fn method() {
println!("called `newmodule::method()`");
}
fn private_method() {
println!("called `newmodule::private_method()`");
}
pub fn indirect_access() {
print!("called `newmodule::indirect_access()`, that\n> ");
private_method();
}
The rust module.rs is compiled and the output is as shown below:
apples-MacBook-Air:modules bhagvan.kommadi$ rustc moduleaccess.rs apples-MacBook-Air:modules bhagvan.kommadi$ ls moduleaccess moduleaccess.rs newmodule.rs apples-MacBook-Air:modules bhagvan.kommadi$ ./moduleaccess called `newmodule::method()` called `method()` called `newmodule::indirect_access()`, that > called `newmodule::private_method()`






