Rust中的模块可见性

时间:2018-01-07 12:01:12

标签: rust

我有一个具有以下目录结构的Rust项目:

src-
   |
   amd64-
   |    |
   |    fp64.rs
   |    mod.rs
   |
   fp.rs

src/amd64/mod.rs内,我只有以下代码行pub mod fp64;。在src/fp.rs内,我试图做这样的事情:

pub use amd64::fp64::*;
pub type Element = amd64::fp64::Element;

这会引发错误,因为它显然找不到amd64。如果我切换到仅使用use amd64::fp64::*,那么我会在多个文件中收到错误,没有Element,因此它会跳过上述类型分配。请注意Element内的amd64/fp64是一个结构。 Element内的amd64/fp64.rs定义如下:pub struct Element(pub (crate) [u64; 12]);

1 个答案:

答案 0 :(得分:1)

您似乎需要添加包含以下行的新src/lib.rs文件:

pub mod fp;
pub mod amd64;