diff --git a/astroid/nodes/node_classes.py b/astroid/nodes/node_classes.py index 7bebac9d42..d29d0cb50f 100644 --- a/astroid/nodes/node_classes.py +++ b/astroid/nodes/node_classes.py @@ -570,6 +570,7 @@ def _get_name_nodes(self): for child_node in self.get_children(): yield from child_node._get_name_nodes() + @decorators.raise_if_nothing_inferred @decorators.path_wrapper def _infer( self, context: InferenceContext | None = None, **kwargs: Any diff --git a/tests/test_inference.py b/tests/test_inference.py index 7e25ea0dae..07c69c94aa 100644 --- a/tests/test_inference.py +++ b/tests/test_inference.py @@ -1470,6 +1470,13 @@ def get_context_data(self, **kwargs): assert len(results) == 2 assert all(isinstance(result, nodes.Dict) for result in results) + def test_name_repeat_inference(self) -> None: + node = extract_node("print") + context = InferenceContext() + _ = next(node.infer(context=context)) + with pytest.raises(InferenceError): + next(node.infer(context=context)) + def test_python25_no_relative_import(self) -> None: ast = resources.build_file("data/package/absimport.py") self.assertTrue(ast.absolute_import_activated(), True)