Static rustc_lint::builtin::SPECIAL_MODULE_NAME
source · pub static SPECIAL_MODULE_NAME: &LintExpand description
The special_module_name lint detects module
declarations for files that have a special meaning.
§Example
ⓘ
mod lib;
fn main() {
lib::run();
}{{produces}}
§Explanation
Cargo recognizes lib.rs and main.rs as the root of a
library or binary crate, so declaring them as modules
will lead to miscompilation of the crate unless configured
explicitly.
To access a library from a binary target within the same crate,
use your_crate_name:: as the path instead of lib:::
ⓘ
// bar/src/lib.rs
fn run() {
// ...
}
// bar/src/main.rs
fn main() {
bar::run();
}Binary targets cannot be used as libraries and so declaring one as a module is not allowed.