En suivant ce guide, j'ai créé un projet Cargo.
src/main.rs
fn main() {
hello::print_hello();
}
mod hello {
pub fn print_hello() {
println!("Hello, world!");
}
}
que je cours en utilisant
cargo build && cargo run
et il compile sans erreurs. Maintenant, j'essaie de diviser le module principal en deux mais je ne peux pas comprendre comment inclure un module d'un autre fichier.
Mon arborescence de projet ressemble à ceci
├── src
├── hello.rs
└── main.rs
et le contenu des fichiers:
src/main.rs
use hello;
fn main() {
hello::print_hello();
}
src/hello.rs
mod hello {
pub fn print_hello() {
println!("Hello, world!");
}
}
Quand je le compile avec cargo build
je reçois
error[E0432]: unresolved import `hello`
--> src/main.rs:1:5
|
1 | use hello;
| ^^^^^ no `hello` external crate
J'ai essayé de suivre les suggestions du compilateur et j'ai modifié main.rs
pour:
#![feature(globs)]
extern crate hello;
use hello::*;
fn main() {
hello::print_hello();
}
Mais cela n'aide toujours pas beaucoup, maintenant je comprends ceci:
error[E0463]: can't find crate for `hello`
--> src/main.rs:3:1
|
3 | extern crate hello;
| ^^^^^^^^^^^^^^^^^^^ can't find crate
Existe-t-il un exemple trivial de la façon d'inclure un module du projet actuel dans le fichier principal du projet?