Namespaces in the Wrong Units

Rule ID:

namespace_in_wrong_unit

Severity:

high

Namespace declarations below src/erbsland must match the API boundary expressed by their source directory. Mismatches make declarations difficult to find and can accidentally expose implementation details as public API, or hide public declarations in implementation directories.

Correct Placement

For example, erbsland::example::impl belongs below src/erbsland/example/impl. Conversely, erbsland::example must not be declared below that impl directory. Additional directories may group related files without introducing another namespace.

Mechanical Detection

Below src/erbsland, the scanner reports namespaces whose domain or impl component does not match the file path.