RS.CLIPPY.MODULE_INCEPTION
Modules that have the same name as their parent module
This checker is a Clippy lint created by The Rust Project Contributors. The documentation shown here is a copy of the original documentation for: module_inception. Copyright ©2025 The Rust Team. All rights reserved.
What it does
Checks for modules that have the same name as their parent module
Why is this bad?
A typical beginner mistake is to have mod foo; and
again mod foo { .. } in foo.rs.
The expectation is that items inside the inner mod foo { .. } are then
available
through foo::x, but they are only available through
foo::foo::x.
If this is done on purpose, it would be better to choose a more
representative module name.
Example
// lib.rs
mod foo;
// foo.rs
mod foo {
...
}
Configuration
-
allow-private-module-inception: Whether to allow module inception if it's not public.(default:
false)