You don’t need the mod hello
in your hello.rs
file. Code in any file but the crate root (main.rs
for executables, lib.rs
for libraries) is automatically namespaced in a module.
To include the code from hello.rs
in your main.rs
, use mod hello;
. It gets expanded to the code that is in hello.rs
(exactly as you had before). Your file structure continues the same, and your code needs to be slightly changed:
main.rs
:
mod hello;
fn main() {
hello::print_hello();
}
hello.rs
:
pub fn print_hello() {
println!("Hello, world!");
}