diff options
author | Jacob Walls <jacobtylerwalls@gmail.com> | 2022-09-04 14:32:56 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-04 14:32:56 -0400 |
commit | daa6a44535b2a52f35e6f60b02719d31d69d264d (patch) | |
tree | 51731eb4e996062ea97595f579299f774cbe69ff /astroid/brain | |
parent | 830a9a6fe621a6c6ac9218d2ba03cb0dfd0eae8c (diff) | |
download | astroid-git-daa6a44535b2a52f35e6f60b02719d31d69d264d.tar.gz |
Fix a crash involving `Uninferable` args to `namedtuple` (#1763)
Diffstat (limited to 'astroid/brain')
-rw-r--r-- | astroid/brain/brain_namedtuple_enum.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/astroid/brain/brain_namedtuple_enum.py b/astroid/brain/brain_namedtuple_enum.py index 736f9f9f..acc20c51 100644 --- a/astroid/brain/brain_namedtuple_enum.py +++ b/astroid/brain/brain_namedtuple_enum.py @@ -538,7 +538,13 @@ def _get_namedtuple_fields(node: nodes.Call) -> str: extract a node from them later on. """ names = [] - for elt in next(node.args[1].infer()).elts: + try: + container = next(node.args[1].infer()) + except (InferenceError, StopIteration) as exc: + raise UseInferenceDefault from exc + if not isinstance(container, nodes.BaseContainer): + raise UseInferenceDefault + for elt in container.elts: if isinstance(elt, nodes.Const): names.append(elt.as_string()) continue |