我想写一个mod.rs像这样的文件:
pub use foo::*;
mod foo;
pub mod bar;
Run Code Online (Sandbox Code Playgroud)
但我得到了错误。这样做的正确方法是什么?unresolved import foo
这是您的问题的MCVE:
pub mod sub {
use foo::function;
pub mod foo {
pub fn function() {}
}
}
fn main() {}
Run Code Online (Sandbox Code Playgroud)
正如Adrian 提到的self,解决方案是在语句中使用关键字use:
pub mod sub {
use self::foo::function;
pub mod foo {
pub fn function() {}
}
}
fn main() {}
Run Code Online (Sandbox Code Playgroud)
发生什么了?Rust 编程语言描述了这个问题:
关于
self?好吧,默认情况下,use 声明是绝对路径,从您的板条箱根开始。self使该路径相对于您在层次结构中的当前位置。
也就是说,意味着从 crate 的根部use foo使用。表示相对于当前模块使用。foouse self::foofoo
| 归档时间: |
|
| 查看次数: |
5465 次 |
| 最近记录: |