Module 如何从模块引用其父作用域中的模块成员?

Module 如何从模块引用其父作用域中的模块成员?,module,rust,Module,Rust,这个简单的例子适用于main.rs pub mod types { pub struct Foo { _var: usize, } } use types::Foo; fn main() { let _unused: Foo; println!("Hello, world!"); } 但是,当在其自身为模块的文件中编译时,会出现错误: 错误:未解析的导入`types::Foo`。可能缺少“外部板条箱类型”? 是否可以从模块中引用子模块的公共成员

这个简单的例子适用于
main.rs

pub mod types {
    pub struct Foo {
        _var: usize,
    }
}
use types::Foo;

fn main() {
    let _unused: Foo;
    println!("Hello, world!");
}
但是,当在其自身为模块的文件中编译时,会出现错误:

错误:未解析的导入`types::Foo`。可能缺少“外部板条箱类型”?


是否可以从模块中引用子模块的公共成员?

在模块中,需要使用
self
,例如:

pub mod types {
    pub struct Foo {
        _var: usize,
    }
}
use self::types::Foo;  // <-- self here
pub mod类型{
pub struct Foo{
_var:usize,
}
}
使用self::types::Foo//