Skip to content

Commit 9240b0d

Browse files
committed
More comments!
1 parent d3240a3 commit 9240b0d

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

Lib/functools.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -889,6 +889,7 @@ def _find_impl(cls, registry):
889889
return registry.get(match)
890890

891891
def _get_positional_param(func, *, pos=0):
892+
# Fast path for typical callables.
892893
if isinstance(func, (MethodType, classmethod, staticmethod)):
893894
func = func.__func__
894895
if isinstance(func, FunctionType) and not hasattr(func, "__wrapped__"):
@@ -900,10 +901,10 @@ def _get_positional_param(func, *, pos=0):
900901
# Fallback path for ambiguous callables.
901902
# Follows __wrapped__, checks __signature__, __text_signature__, etc.
902903
import inspect
903-
for insp_param in list(inspect.signature(func).parameters.values())[pos:]:
904-
if insp_param.kind in (insp_param.KEYWORD_ONLY, insp_param.VAR_KEYWORD):
904+
for param in list(inspect.signature(func).parameters.values())[pos:]:
905+
if param.kind in (param.KEYWORD_ONLY, param.VAR_KEYWORD):
905906
break
906-
return insp_param.name
907+
return param.name
907908
return None
908909

909910
def singledispatch(func):
@@ -988,8 +989,9 @@ def register(cls, func=None, _func_is_method=False):
988989
f"does not accept positional arguments."
989990
) from None
990991

991-
from annotationlib import Format, ForwardRef
992+
# only import typing if annotation parsing is necessary
992993
import typing
994+
from annotationlib import Format, ForwardRef
993995
annotations = typing.get_type_hints(func, format=Format.FORWARDREF)
994996

995997
try:

0 commit comments

Comments
 (0)