Rust Modules

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()`

Leave a comment