Siguiendo esta guía creé un proyecto Cargo.
src/main.rs
fn main() {
hello::print_hello();
}
mod hello {
pub fn print_hello() {
println!("Hello, world!");
}
}
que corro usando
cargo build && cargo run
y se compila sin errores. Ahora estoy tratando de dividir el módulo principal en dos, pero no puedo averiguar cómo incluir un módulo de otro archivo.
Mi árbol de proyectos se ve así
├── src
├── hello.rs
└── main.rs
y el contenido de los archivos:
src/main.rs
use hello;
fn main() {
hello::print_hello();
}
src/hello.rs
mod hello {
pub fn print_hello() {
println!("Hello, world!");
}
}
Cuando lo compilo cargo build
consigo
error[E0432]: unresolved import `hello`
--> src/main.rs:1:5
|
1 | use hello;
| ^^^^^ no `hello` external crate
Intenté seguir las sugerencias del compilador y modifiqué main.rs
a:
#![feature(globs)]
extern crate hello;
use hello::*;
fn main() {
hello::print_hello();
}
Pero esto todavía no ayuda mucho, ahora entiendo esto:
error[E0463]: can't find crate for `hello`
--> src/main.rs:3:1
|
3 | extern crate hello;
| ^^^^^^^^^^^^^^^^^^^ can't find crate
¿Existe un ejemplo trivial de cómo incluir un módulo del proyecto actual en el archivo principal del proyecto?