Por que a ferrugem não consegue encontrar uma função em um submódulo? [duplicado]
Esta pergunta já tem uma resposta aqui:
Como incluir o módulo de outro arquivo do mesmo projeto? 2 respostasEstou tentando chamar uma função de um módulo localizado em um arquivo separado, a função é pública e estou chamando-a usando um caminho completo, mas rustc ainda reclama de "nome não resolvido".
a.rspub mod b;
fn main() {
b::f()
}
b.rspub mod b {
pub fn f(){
println!("Hello World!");
}
}
compilação$ rustc a.rs
a.rs:3:5: 3:9 error: unresolved name `b::f`.
Quando movo o módulo para o arquivo principal da caixa, tudo funciona bem.
one_file.rspub mod b {
pub fn f(){
println!("Hello World!");
}
}
fn main() {
b::f()
}
Essas duas maneiras não deveriam ser equivalentes? Estou fazendo algo errado, ou é um bug no rustc?