diff options
Diffstat (limited to 'pylint/checkers/base/name_checker/checker.py')
-rw-r--r-- | pylint/checkers/base/name_checker/checker.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/pylint/checkers/base/name_checker/checker.py b/pylint/checkers/base/name_checker/checker.py index 1341edc96..616067d1f 100644 --- a/pylint/checkers/base/name_checker/checker.py +++ b/pylint/checkers/base/name_checker/checker.py @@ -597,7 +597,13 @@ class NameChecker(_BasicChecker): inferred = utils.safe_infer(node) if isinstance(inferred, nodes.ClassDef): if inferred.qname() == ".Union": - return True + # Union is a special case because it can be used as a type alias + # or as a type annotation. We only want to check the former. + assert node is not None + return not ( + isinstance(node.parent, nodes.AnnAssign) + and node.parent.value is not None + ) elif isinstance(inferred, nodes.FunctionDef): if inferred.qname() == "typing.TypeAlias": return True |