G.MOD.05 不要在私有模块中设置其内部类型或函数方法为 pub(crate)

【级别】 建议

【描述】

如果在私有模块中设置 pub(crate) 可能会让使用者产生误解。建议用 pub 代替。

【反例】


#![allow(unused)]
fn main() {
mod internal {
    // 不符合
    pub(crate) fn internal_fn() { }
}
}

【正例】


#![allow(unused)]
fn main() {
// 符合
mod internal {
    // 此函数在模块外部不可见,可以使用 pub 或 继续保持私有
    pub fn internal_fn() { }
}
}

【Lint 检测】

lint nameClippy 可检测Rustc 可检测Lint Grouplevel
redundant_pub_crateyesnonurseryallow