我有一个非常简单的 struct 和一个new()
实现的 struct .
pub struct Square {
rank: usize,
file: usize,
}
impl Square {
/// # Examples
/// ```
/// Square::new(0,0); //The square A1.
/// ```
}
此外,我还有一些测试(这些测试确实调用了Square::new()
,尽管它们不是针对该函数的测试).当我运行cargo test
时,我的文档示例中的代码出现以下错误:
使用未声明的类型
Square
. 考虑导入此 struct .
奇怪的是,当我跑cargo build
或cargo doc
的时候,这个问题不会发生.
当我按照编译器的建议导入 struct 时,这个问题就消失了.然而,这似乎不是我应该做的事情,因为(我假设)示例应该尽可能简洁.看一下String::new()
的source code,示例文档由一行代码组成,不需要导入.不过,env::args
的source code确实包括std::env
的进口.
这是故意的行为吗?这是个窃听器吗?