Declaring names in appropriate namespaces reduces the number of names found during lookup, decreasing the risk of name clash and of surprising name lookup. This rule raises an issue when a name in the global namespace has external linkage and therefore can be accessed from outside a particular translation unit. Some names have to be declared in the global namespace, and are excluded from this rule: * ``++main++`` (or its variants) * Overloads of the global ``++new++`` & ``++delete++`` operators In addition, no issue is raised for function definitions because they can only be accessed from different translation units through a forward declaration that will be flagged.