我发现我的代码库中有一些死代码,但没有按预期收到死代码警告。我从 rust book 中阅读了Visibility and Privacy文章。我正在按照示例创建一个“帮助模块”,其中包含要在板条箱中使用但未在公共 API 中公开的代码。
这是我认为正在发生的事情的简化示例:
// private module for in-crate usage only
mod foo {
// everything in the module is pub
pub struct Foo {}
impl Foo {
// I expect to see a dead code warning here. Where is it? ...
pub fn dead_code() {}
}
}
use foo::Foo;
// Uh oh, I'm leaking my helper module here!
// But I'm having trouble finding where this occurs in my large code base :(
pub fn get_foo() -> Foo {
Foo {}
}
我的问题:我如何找到get_foo
“泄露”为公共的代码(),我打算成为 crate-public(Foo
)?在一个真实的例子中,可能有一个“泄漏”具有泄漏相关类型的多米诺骨牌效应。