Skip to content

Commit 370ec10

Browse files
committed
Fix
1 parent fdb6cad commit 370ec10

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

pylint/checkers/variables.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from typing import TYPE_CHECKING, Any, NamedTuple
2020

2121
import astroid
22-
from astroid import extract_node, nodes
22+
from astroid import bases, extract_node, nodes
2323
from astroid.nodes import _base_nodes
2424
from astroid.typing import InferenceResult
2525

@@ -2276,7 +2276,17 @@ def _loopvar_name(self, node: astroid.Name) -> None:
22762276
inferred_return = utils.safe_infer(inferred_func.returns)
22772277
if isinstance(
22782278
inferred_return, nodes.FunctionDef
2279-
) and inferred_return.qname() in {*TYPING_NORETURN, *TYPING_NEVER}:
2279+
) and inferred_return.qname() in {
2280+
*TYPING_NORETURN,
2281+
*TYPING_NEVER,
2282+
"typing._SpecialForm",
2283+
}:
2284+
return
2285+
# typing_extensions.NoReturn returns a _SpecialForm
2286+
if (
2287+
isinstance(inferred_return, bases.Instance)
2288+
and inferred_return.qname() == "typing._SpecialForm"
2289+
):
22802290
return
22812291

22822292
maybe_walrus = utils.get_node_first_ancestor_of_type(node, nodes.NamedExpr)

0 commit comments

Comments
 (0)