在Rust 2018中使用模块时为什么会出现“找不到板条箱”的信息?

时间:2018-10-21 15:27:08

标签: rust

我有一个lib.rs文件,其中包含:

mod bindings {
    // ...
}

pub use bindings::*;

我从rustc得到的是:

|  pub use bindings::*;
|          ^^^^^^^^ can't find crate

为什么Rust认为bindings是板条箱而不是模块?

1 个答案:

答案 0 :(得分:2)

您似乎正在使用Rust的2018版。自2015年版(又称为Rust 1.0)以来,已有few changes to paths in use declarations。现在,use声明之后的路径始终需要以板条箱名称开头,crate关键字表示板条箱的根,self表示当前模块,或者super表示父模块。因此,这两个use声明中的任何一个都应该起作用:

pub use self::bindings::*;

pub use crate::bindings::*;