]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-118761: Defer import of functools in annotationlib (#132059)
authorJelle Zijlstra <jelle.zijlstra@gmail.com>
Fri, 4 Apr 2025 13:42:22 +0000 (06:42 -0700)
committerGitHub <noreply@github.com>
Fri, 4 Apr 2025 13:42:22 +0000 (06:42 -0700)
Lib/annotationlib.py

index c08cd4d66589b6bde159d246b546ad470fede49b..c42dad3503bff79bf1d569a1102aded3e928cc9e 100644 (file)
@@ -3,7 +3,6 @@
 import ast
 import builtins
 import enum
-import functools
 import keyword
 import sys
 import types
@@ -765,9 +764,10 @@ def get_annotations(
             if hasattr(unwrap, "__wrapped__"):
                 unwrap = unwrap.__wrapped__
                 continue
-            if isinstance(unwrap, functools.partial):
-                unwrap = unwrap.func
-                continue
+            if functools := sys.modules.get("functools"):
+                if isinstance(unwrap, functools.partial):
+                    unwrap = unwrap.func
+                    continue
             break
         if hasattr(unwrap, "__globals__"):
             obj_globals = unwrap.__globals__