module-shadows-parent
Flag a nested module with the same name as its direct parent module. A module binds its own name inside itself, so the child rebinds that self-reference: A in the parent body then refers to the child, and qualified names like A.x resolve against the wrong module. The usual cause is a file included into the module it already defines. No fix: renaming a module means updating every reference to it.
A submodule shadowing the module that contains it:
module A
module A
end
end
warning: module-shadows-parent
--> example.jl:3:8
|
3 | module A
| ^ module `A` has the same name as its parent module