I have the following project structure:
src
├── module1
│ └── mod.rs
├── main.rs
└── module2
└── mod.rs
but I get a
error[E0432]: unresolved import `crate::module2`
--> src/module2/mod.rs:6:14
|
6 | use crate::module2::SomeStruct;
| ^^^^^^^ maybe a missing crate `module2`?
When the contents of the files as as follows.
src/module1/mod.rs
pub mod module1 {
// -- snip --
use crate::module2::SomeStruct;
}
// -- snip --
}
src/module2/mod.rs
pub mod module2 {
// --snip--
pub struct SomeStruct;
}
// -- snip--
}
src/main.rs
mod module1;
fn main() {
// -- snip--
}
Why is this and how can it be fixed? All relevant modules and structs are public. A relevant chapter in the Rust Book.