Skip to content

Commit 10f35b2

Browse files
committed
Also defer functools import
1 parent f78c6ec commit 10f35b2

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

Lib/annotationlib/__init__.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import builtins
44
import enum
5-
import functools
65
import keyword
76
import sys
87
import types
@@ -23,12 +22,16 @@ class _LazyImporter:
2322
def __getattr__(self, name):
2423
if name == "ast":
2524
import ast
26-
setattr(self, "ast", ast)
25+
self.ast = ast
2726
return ast
2827
elif name == "_Stringifier":
2928
from ._stringifier import _Stringifier
30-
setattr(self, "_Stringifier", _Stringifier)
29+
self._Stringifier = _Stringifier
3130
return _Stringifier
31+
elif name == "functools":
32+
import functools
33+
self.functools = functools
34+
return functools
3235
else:
3336
raise AttributeError(
3437
f"{self.__class__.__name__!r} object has no attribute {name!r}"
@@ -588,7 +591,7 @@ def get_annotations(
588591
if hasattr(unwrap, "__wrapped__"):
589592
unwrap = unwrap.__wrapped__
590593
continue
591-
if isinstance(unwrap, functools.partial):
594+
if isinstance(unwrap, _laz.functools.partial):
592595
unwrap = unwrap.func
593596
continue
594597
break

0 commit comments

Comments
 (0)